首页 > 解决方案 > R:使用if条件替换数据框的值并应用

问题描述

我在 R 中的问题是我想通过检查任何条目的条件(即如果它是 NA)并随后插入从列表中选择的值来替换数据框中的值。嵌套的 for 循环似乎可以工作,但它们太慢了!

for (i in 1:nrow(data)) {
for (j in 1:ncol(data)) {

 if (is.na(data[i,j]) == FALSE){
 df[i,j] <- some_list[[j]]$freq[ which(some_list[[j]][1] == data[i,j]) ]       
 }

 if (is.na(data[i,j]) == TRUE){
   df[i,j] <- NA
 }

}
}

我更喜欢将 apply 与 ifelse 或任何其他快速方法结合使用的解决方案,但不幸的是我没有看到它。

标签: r

解决方案


推荐阅读