У меня есть этот иллюстративный кадр данных:
df <- data.frame(Customer_Name = c("A", "B"),
Country = c("X", "Y"),
Transaction = c("01-01-2009", "01-31-2012"),
Delivery = c("01-02-2009", "02-01-2012"),
Return = c("01-27-2009", "03-22-2012"),
Cost = c(1234, 5678))
Я бы хотел установить подмножество df
в тех столбцах, которые содержат даты. У меня все хорошо с определением соответствующих столбцов с помощью grepl
:
apply(df, 2, function(x) grepl("\\d{2}-\\d{2}-\\d{4}", x))
Customer_Name Country Transaction Delivery Return Cost
[1,] FALSE FALSE TRUE TRUE TRUE FALSE
[2,] FALSE FALSE TRUE TRUE TRUE FALSE
Но как только я пытаюсь установить подмножество df
соответственно, я получаю ошибку:
df[, apply(df, 2, function(x) grepl("\\d{2}-\\d{2}-\\d{4}", x))]
Error in `[.data.frame`(df, , apply(df, 2, function(x) grepl("\\d{2}-\\d{2}-\\d{4}", :
undefined columns selected
Как правильно установить подмножество df
в столбцах даты?