我的代码存在问题。我有这样的数据帧:for循环中的动态列名称
A <- c(21, 234, NA, 286,NA)
B <- c(3,NA,NA, 8, 10)
data <- data.frame(A,B)
data
A B
1 21 3
2 234 NA
3 NA NA
4 286 8
5 NA 10
我想创建的效果是:
A B A_NA B_NA
1 21 3 0 0
2 234 NA 0 1
3 NA NA 1 1
4 286 8 0 0
5 NA 10 1 0
这里是我的简单的代码,但事情并没有工作..
for(i in c(1:ncol(data)))
{
data[, ncol(data) + 1] <- ifelse(is.na(data[i]), 1, 0)
names(data)[ncol(data)] <- paste0(colnames(data[i]), "_NA")
}
因为效果是:
A B A A B A A
1 21 3 0 0 0 0 0
2 234 NA 0 0 1 0 0
3 NA NA 1 1 1 0 0
4 286 8 0 0 0 0 0
5 NA 10 1 1 0 0 0
@DominikaJ谢谢你的意见。你也可以检查[这里](https://stackoverflow.com/help/someone-answers) – akrun