我必须加载许多文件并改变他们的数据.每个文件只包含一个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)
有没有更好的办法?
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其中包含每个原始文件的数据表.
| 归档时间: |
|
| 查看次数: |
329 次 |
| 最近记录: |