【发布时间】:2014-12-09 09:25:28
【问题描述】:
我正在尝试用 na 值替换所有与日期匹配的列名和 DOB 的默认“1900-01-01”。 下面是代码。
library(dplyr)
data[is.na(data),] %>% select(matches("date"),DOB) %>% head()
FirstTradeDate LastTradeDate DOB
NA <NA> <NA> <NA>
NA.1 <NA> <NA> <NA>
NA.2 <NA> <NA> <NA>
NA.3 <NA> <NA> <NA>
NA.4 <NA> <NA> <NA>
NA.5 <NA> <NA> <NA>
这可以用 dplyr 包替换吗? 我试过 mutate 和 transmutate 都不起作用。 有什么想法吗?
我也试过
data[is.na(data),c(grep("[Dd]ate|DOB",names(data)))]<-as.Date("1970-01-01")
Error in `[<-.data.frame`(`*tmp*`, is.na(data), c(grep("[Dd]ate|DOB", :
non-existent rows not allowed
traceback()
3: stop("non-existent rows not allowed")
2: `[<-.data.frame`(`*tmp*`, is.na(data), c(grep("[Dd]ate|DOB",
names(data))), value = 0)
1: `[<-`(`*tmp*`, is.na(data), c(grep("[Dd]ate|DOB", names(data))),
value = 0)
还有其他方法吗?
【问题讨论】:
-
请提供minimal, self contained example 示例数据和所需的输出。
标签: r dataframe dplyr multiple-columns