【发布时间】:2012-09-07 04:24:54
【问题描述】:
我在一个数据框中有多个整数列,所有的 NA 都需要重新编码为 0。
df1 <- as.data.frame(sapply(paste(sample(letters,50,T),sample(letters,10), sep=""), function(x) {sample(c(NA,0:5),10,T)} ))
df2 <- as.data.frame(sapply(paste(sample(letters,5,T),sample(letters,10,T), sep=""), function(x) {sample(letters[1:5],10,T)} ))
df <- cbind(df2,df1)
产生这样的输出...(仅显示 55 列的前几列)
我可以手动将每列的 NA 重新编码为 0,例如 df$col[is.na(df$col)] <- 0,但考虑到有这么多列,需要一段时间才能全部输入。
如何在一行或三行中将所有这些 NA 重新编码为 0?
(我意识到我可以熔化整数列,然后重新编码一个熔化的列,但我宁愿在基数 R 中这样做)
【问题讨论】:
标签: r