【发布时间】:2020-08-06 12:55:29
【问题描述】:
我有一个包含 2,000,000 + 行和 22 列的数据框。 在三列中,条目是 0、1 或 NA。 我想要一列,每一行都有这三列的总和,将 NA 视为 0。 使用 for 循环肯定太慢了。
你有其他选择吗?另一个想法是在管道中使用 mutate,但我在选择要按名称相加的列时遇到问题。
第一次尝试:
for(i in 1:nrow(T12)){
if(is.na(T12$blue[i]) & is.na(T12$blue.y[i])) {
T12$blue[i] <- T12$blue.x[i]
}else if(is.na(T12$blue[i]) & is.na(T12$blue.x[i])){
T12$blue[i] <- T12$blue.y[i]
}else if(is.na(T12$blue[i]) & is.na(T12$blue.x[i]) & is.na(T12$blue.y[i]) )
T12[i,] <- NULL
}
谢谢!
【问题讨论】: