【发布时间】:2017-12-09 18:40:27
【问题描述】:
所以我有 1,000 个数据帧要使用 R 中的 FOR 循环进行处理,假设它们被命名为 DF1 到 DF1000。我需要将数据框中的所有 0 值替换为 1。我试着这样写。
for (i in 1:1000){
eval(as.symbol(paste0("DF","i")))[eval(as.symbol(paste0("DF","i")))==0]<-1
}
这会带来一个错误(“找不到 eval
提前致谢, 阿尔沃
【问题讨论】:
-
最好的办法是将所有数据帧放入
list,然后是lapply(list, function(x) replace(x, x == 0, 1)) -
感谢@Rich Scriven。一个问题。假设这只是我对这 1000 个数据帧所做的 10 或 20 件事情中的第一件。这是否意味着我必须在 For 循环之外的其他 19 件事之前执行此操作?
标签: r for-loop replace eval assign