a***r 发帖数: 420 | 1 hi,遇到个问题,折腾半天了,可能其实挺简单,请大家看看:
我有小于1000个文件,文件格式是一样的,ie.xxxx_##,
##在[1,1000]的范围内,无重复,但总共小于1000个,比如xxxx_1,xxxx_2,xxxx_5,...
,xxxx_780,xxxx_999.
我不知道少了哪些,现在需要把这些文件里的数据读到R里,
如果我用
for (n in 1:1000) {
array[n] <- read.table(file="~/xxxx_n")
}
遇到xxxx_n不存在的时候,自然就会报错,然后跳出循环
但因为我不知道哪些编号的文件有,哪些没有
我想请教下,如何跳过不存在的文件,完成对所有文件的读入呢
或者如何获得一个存在的文件的列表
有没有什么好办法?
谢谢大家! | t*****i 发帖数: 426 | 2 这个程序有问题。 read.table 里面的n是string,不会随外面定义的n变化而变化。 | a***d 发帖数: 336 | 3 you can list.files to get the file names in a directory.
..
【在 a***r 的大作中提到】 : hi,遇到个问题,折腾半天了,可能其实挺简单,请大家看看: : 我有小于1000个文件,文件格式是一样的,ie.xxxx_##, : ##在[1,1000]的范围内,无重复,但总共小于1000个,比如xxxx_1,xxxx_2,xxxx_5,... : ,xxxx_780,xxxx_999. : 我不知道少了哪些,现在需要把这些文件里的数据读到R里, : 如果我用 : for (n in 1:1000) { : array[n] <- read.table(file="~/xxxx_n") : } : 遇到xxxx_n不存在的时候,自然就会报错,然后跳出循环
| s*********e 发帖数: 1051 | 4 what format, csv or txt?
..
【在 a***r 的大作中提到】 : hi,遇到个问题,折腾半天了,可能其实挺简单,请大家看看: : 我有小于1000个文件,文件格式是一样的,ie.xxxx_##, : ##在[1,1000]的范围内,无重复,但总共小于1000个,比如xxxx_1,xxxx_2,xxxx_5,... : ,xxxx_780,xxxx_999. : 我不知道少了哪些,现在需要把这些文件里的数据读到R里, : 如果我用 : for (n in 1:1000) { : array[n] <- read.table(file="~/xxxx_n") : } : 遇到xxxx_n不存在的时候,自然就会报错,然后跳出循环
| a***r 发帖数: 420 | 5 嗯,谢谢,俺确实写得不严密,
不过这里只是想表达这个格式,重点是能不能把没有的文件condition掉
【在 t*****i 的大作中提到】 : 这个程序有问题。 read.table 里面的n是string,不会随外面定义的n变化而变化。
| a***r 发帖数: 420 | 6 this is a good one,many thanks!
【在 a***d 的大作中提到】 : you can list.files to get the file names in a directory. : : ..
| s*********e 发帖数: 1051 | 7 after list.files(), do a lapply(filelist, read.table, ...)
【在 a***r 的大作中提到】 : this is a good one,many thanks!
| a***r 发帖数: 420 | 8 Good point, thank you!
I occasionally forget the merit of "apply", should always remind myself
about that...
【在 s*********e 的大作中提到】 : after list.files(), do a lapply(filelist, read.table, ...)
|
|