批量为变量分配名称时,R Functionals不起作用

时间:2018-08-28 16:06:08

标签: r functional-programming lapply mapply

我想使用功能将名称批量分配给csv数据文件,我已经测试了将Mapmapplylapply和功能assign替换为{ {1}},但是所有这些功能都不起作用,只有传统的for循环起作用,有人可以解释吗?预先感谢!

这是我的代码:

<-

2 个答案:

答案 0 :(得分:3)

有两种基本的R方式:

junk <- Map("assign", nameList, csvs, MoreArgs = list(.GlobalEnv))

list2env(setNames(csvs, nameList), .GlobalEnv)

答案 1 :(得分:3)

更典型的R惯用法是从这里开始:

csvs <- lapply(allData, read.csv)

,此时您的数据已很好地存储在列表中。如果要命名列表,只需执行以下操作:

nameList <- c("Actinomyces", "Bacteria", "COD", "Fungi", "NH3", "NO2", "NO3", "TN", "TP")
csvs <- setNames(csvs, nameList)

然后,您可以通过csvs[["COD"]]通过名称引用任何数据集,例如。