在R中,我试图使用循环处理多个文件。文件包含许多其他文件的路径,这些文件包含用于计算的数据。有人可以告诉我这个简单的脚本吗?
LIST.TXT:
/data/tmp/b.dat
/data/tmp/c.dat
/data/tmp/d.dat
在b.dat中:
1 15.30 20.30 15.0
2 7.3 5.0 2.0
...
n 5.0 2.0 6.0
与此同时,每行都会处理数据。如何转换数据?
答案 0 :(得分:3)
这是一个单行:
lapply(scan("list.txt",""), read.table,sep=" ", row.names=1)
一个简短的解释:scan("list.txt","")
扫描包含位置列表(空格分隔)的文件,并将它们输出为字符向量(因为""
)然后用lapply
输出使用正确的分隔符和其他所需参数将函数read.table
应用于每个位置。最终输出是数据集列表。