Создание пользовательского ввода с веб-компонентами

nzd$date <- format(as.Date(nzd$date), "%Y/%m/%d")

В приведенном выше фрагменте кода есть две ошибки. Прежде всего, когда вы читаете nzd$date внутри as.Date, вы не указываете, в каком формате вы его подаете date. Таким образом, он пытается установить формат по умолчанию для его чтения. Если вы видите документ help, ?as.Date, вы увидите

format. Символьная строка. Если не указано, он попытается «% Y-% m-% d», а затем «% Y /% m /% d» на первом элементе, отличном от NA, и сообщите об ошибке, если они не работают. В противном случае обработка выполняется через strptime

. Вторая ошибка: даже если вы хотели бы прочитать ее в формате %Y-%m-%d, внутри format вы написали "%Y/%m/%d".

Теперь правильный способ сделать это:

> nzd <- data.frame(date=c("31/08/2011", "31/07/2011", "30/06/2011"), 
+                                       mid=c(0.8378,0.8457,0.8147))
> nzd
        date    mid
1 31/08/2011 0.8378
2 31/07/2011 0.8457
3 30/06/2011 0.8147
> nzd$date <- format(as.Date(nzd$date, format = "%d/%m/%Y"), "%Y-%m-%d")
> head(nzd)
        date    mid
1 2011-08-31 0.8378
2 2011-07-31 0.8457
3 2011-06-30 0.8147
2
задан adiga 28 February 2019 в 09:41
поделиться

1 ответ

Нет причины, по которой вы не можете объединить опцию A и опцию B, чтобы вы сначала расширили с HTMLInputElement базовый класс, а затем позже добавили его с более конкретными классами.

class BasicCustomHTMLElement extends HTMLInputElement {
}

class CustomInput extends BasicCustomHTMLElement {
}

Если вы хотите, чтобы общий набор функций расширял число встроенных классов, вы можете использовать mixins .

const BaseClassMixin = (superclass) => class extends superclass {
};

class CustomInput extends BaseClassMixin(HTMLInputElement) {
}

class CustomTextArea extends BaseClassMixin(HTMLTextAreaElement) {
}

Однако, в настоящее время только Chrome поддерживает расширение встроенных элементов , поэтому его не рекомендуется использовать в реальных условиях.

0
ответ дан abraham 28 February 2019 в 09:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: