1

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

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

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

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

4

1 回答 1

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())
于 2013-07-21T14:29:45.183 回答