如何在R中使用函数的结果作为变量名

时间:2013-07-21 13:24:24

标签: r

我是R的新手并尝试在R中使用文件名作为变量名。

基本上,我有一个包含文件列表的文件夹 我想将所有文件加载到R中并将其名称用于变量名称

for(i in list.files()) {
  loaddata(i,i)
}

这不起作用,我也尝试as.namepaste,两者都不起作用。 有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

这是一个可以帮到你的方式:

sapply(list.files("~/r"), FUN = function(X) assign(X, rnorm(1))) 

这会为全局环境中的对象分配一个随机数,每个对象的名称来自我~/r/目录中的文件。

举一个具体的例子,假设我们有一个目录~/r,我们希望阅读这些文件并将它们作为环境中的单独项目 - 然后我们会做以下事情:

list2env(sapply(list.files("~/r"), FUN = function(X) read.csv(X)), globalenv())

这是两个命令的组合,其优点是使包含所有文件的列表混乱全局环境。

我们将采取以下步骤:

inList <- sapply(list.files("~/r"), FUN = function(X) read.csv(X))
list2env(inList, globalenv())