Пара вещей: цикл for
не нужен - просто установите подменю DateVar с [indicator]
. Во-вторых, это as.Date
, а не as.date
(обратите внимание на «D»). В-третьих, поскольку это символьный вектор, вам нужно пропустить исходные числа через as.integer
, чтобы as.Date мог работать с ними:
as.Date(as.integer(DateVar[indicator]), origin = "1899-12-30")
(или без промежуточного назначения индикатора:
as.Date(as.integer(DateVar[!grepl("-",DateVar)]), origin = "1899-12-30")
[1] "2018-05-09" "2018-02-06"
Если вы хотите ввести эти даты обратно в DateVar, вы снова используете функцию подмножества:
DateVar[indicator]<-format(as.Date(as.integer(DateVar[indicator]), origin = "1899-12-30"), "%m-%d-%Y")