繁体   English   中英

如何在for循环中的多个变量数据帧中替换零?

[英]How do I replace zeroes in multiple variable dataframes within a for loop?

因此,我有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 <-”)。 我该如何解决这个问题? 我尝试使用“赋值”,但遇到了另一个错误(“赋值目标扩展为非语言对象”)。

在此先感谢Alvo

一种方法是使用基本replace功能assign每个字符值DF assign全局环境中的新DF

for (i in 1:1000){
      assign(paste0("DF", i),
             replace(eval(parse(text = paste0("DF", i))), eval(parse(text = paste0("DF", i))) == 0, 1),
             envir = .GlobalEnv)
    }

这类似于for循环外的replace(DF,DF == 0, 1)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM