【发布时间】:2020-05-01 14:34:11
【问题描述】:
我有这样的data.table:
data <- data.frame(a = c(NA, "2019-08-02", NA, "243", "N"),
b = c(NA, NA, "2", "2019-02-01", "MA"),
c = c("2019-12-02", NA, "2019-11-22", NA, "2019-01-30"))
我需要的值包含在不同的行和列中。那么,我想要什么? 我需要创建新列,而不是包含我需要的值:
1 2019-08-02 NA NA 242
2 2019-02-01 M 342 NA
3 2019-02-01 M 342 NA
4 2019-02-01 M 342 NA
5 2019-02-01 M 342 NA
我尝试使用mutate_all,但是这个函数不能用于简单的变异!
data1 <- data %>%
mutate(new = mutate_all(., ~grepl("2019", .)))
【问题讨论】:
-
你能澄清一下想要的输出是什么吗?原始数据中没有242,只有一个243。您可以轻松地将所有日期放在一列中。我不确定您想对其余数据做什么。
-
我有 3k 行 20 列的凌乱数据集)所以,手动工作不是很好)
-
手工工作永远不好,我从没提过。您只需要一列中的日期吗?请直接在您的问题中回答。我认为您想要的输出是什么并不太清楚。在您的示例中,所有 342 来自哪里?