将未知变量分配给新变量名称

ric*_*rdo 1 r environments

我必须加载许多文件并改变他们的数据.每个文件只包含一个data.table,但表有各种名称.

我想在所有文件上运行一个脚本 - 为此,我必须将未知分配data.table给一个通用名称...说blob.

R这样做的方法是什么?目前,我最好的猜测(这似乎是一个黑客,但有效)是加载data.table到一个新的环境,然后:assign('blob', get(objects(envir=newEnv)[1], env=newEnv).

在可重现的上下文中,这是:

newEnv <- new.env()
assign('a', 1:10, envir = newEnv)
assign('blob', get(objects(envir=newEnv)[1], env=newEnv))
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法?

And*_*rie 5

R方式是创建单个对象,即单个数据表列表.

这是一些包含三个步骤的伪代码:

  • 使用list.files()一个文件夹中创建的所有文件的列表.
  • 使用lapply()read.csv()读取文件并创建数据框列表.更换read.csv()read.table()或任何适合您的数据.
  • lapply()再次使用,这次as.data.table()将数据帧转换为数据表.

伪代码:

filenames <- list.files("path/to/files")
dat <- lapply(files, read.csv)
dat <- lapply(dat, as.data.table)
Run Code Online (Sandbox Code Playgroud)

您的结果应该是一个名为的列表,dat其中包含每个原始文件的数据表.