Это мой образец набора данных, импортированный из файла Excel со всеми столбцами, обработанными как символы.
id date
1 1139 21567
2 2937 27144
3 1933 02/04 /1977
При последующем преобразовании столбца даты в as.Date(as.numeric(df$date),origin = "1899-12-30")
, поскольку некоторые даты имеют неправильный формат, будут NA.
Не могли бы вы посоветовать сценарий проверки, который будет проверять неправильные значения (шаблоны, отличные от #####) и выдавать в качестве вывода id
, чтобы его можно было проверить вручную?
id 1933 has an incorrect date
Каков ожидаемый результат для ваших выборочных данных? — person Andres Mora schedule 09.03.2021
subset(DF, nchar(date) != 5)
выведет список всех строк, дата которых не превышает 5 символов. — person Andres Mora schedule 09.03.2021
Почему бы не проверить, какая из этих дат превратится в NA, и на основании этого сообщить идентификатор? Используйте для этого функцию is.na
. Можете проверить, что это также меньше некоторого значения, поскольку дата, которая когда-либо происходит от 99999, вряд ли будет настоящей датой. — person Andres Mora schedule 09.03.2021
Попробуйте следующий код:
Это вернет: