我认为这是描述我想做的最好的方式:
df$column <- ifelse(is.na(df$column) == TRUE, 0, 1)
Run Code Online (Sandbox Code Playgroud)
但是列是动态的.这是因为我有大约45列都具有相同类型的内容,我想要做的就是检查每个单元格,如果有内容则替换为1,否则为0.我当然尝试了很多不同的东西,但由于R中似乎没有df [index] [column],我迷路了.我曾经期望这样的事情有效,但是没有:
for (index in df) {
for (column in names(df)) {
df[[index]][[column]] <- ifelse(is.na(df[[index]][[column]]) == TRUE, 0, 1)
}
}
Run Code Online (Sandbox Code Playgroud)
我可以用其他语言(甚至是Excel)快速完成这项工作,但我只是在学习R并且想要理解为什么这么简单的东西在一种用于处理数据的语言中看起来如此复杂.谢谢!