Эта проблема относится к фрейму данных, состоящему из пропущенных значений, дат и некоторых неправдоподобных дат, имеющих отрицательные знаки, предшествующие дню и / или месяцу. Я читаю данные из файла Excel в R, используя код
df <- data.frame(read_excel("dat.xlsx", col_types = c("numeric", "guess")))
Это меняет даты на числовые значения. Конечно, если я хочу получить даты, я могу заменить «угадай» в вышеприведенном коде на «дату». Однако я хочу получить неправдоподобные даты и заменить все остальные записи на NA. Примером фрейма данных является
df<-data.frame("id"=c(1,2,3,4,5),
"date" = c("-2/8/2018","-22/11/2018","-1/-2/2018",39586,"NA"))
Числовое значение 39586 на самом деле является датой (т.е. 11/04/2008), которая была преобразована в числовую после считывания файла excel в R.
С использованием
df$date<-df[is.integer(df$date)] <- NA
Я пытался преобразовать все целые числа в NA и сохранить неправдоподобные даты, но все компоненты столбца даты изменились на NA, то есть
id date
1 1 NA
2 2 NA
3 3 NA
4 4 NA
5 5 NA
Как это можно решить? Ожидаемый результат будет выглядеть так:
id date
1 1 -2/8/2018
2 2 -22/11/2018
3 3 -1/-2/2018
4 4 NA
5 5 NA
Во-вторых, как я могу удалить знак минус, прикрепленный к датам? Я ценю вашу помощь в этом.