使用R读取文件列表,每个文件包含一个浮点数列表。什么是正确的方法呢?

时间:2010-09-22 04:24:12

标签: r

使用R读取文件列表,每个文件都包含一个浮点数列表。什么是正确的方法呢?

我之前从未使用过R。只想尝试一下R

所有文件包含121个浮点数,每行一个数

任何言语都会有所帮助。谢谢!

2 个答案:

答案 0 :(得分:4)

您想对文件列表中的数据做什么? Greg的回答显示了一种读取单个文件的方法,您可以将其放在文件名的循环中。但是你想要 n R对象中的结果还是以某种方式组合?

例如,我的工作目录中有两个文件foo.txt和bar.txt。我可以使用*.txt列出所有list.files()个文件,然后对该列表进行操作以读取它们并以不同方式合并它们。

例如:在这里我们将它们组合成一个矩阵:

flist <- list.files(pattern = ".txt$") ## so we get only files .txt not .txt~
(f <- sapply(flist, scan))
## or to a data.frame
(df <- data.frame(sapply(flist, scan)))
## fix up the colnames and rownames
colnames(f) <- colnames(df) <- paste("File", seq_along(flist), sep = "")
head(df)

  File1 File2
1    12    12
2    23    23
3    34    34
4    45    45
5     6     6
6    67    67

如果你想将文件连接成一个长向量,那么我们可以用

来实现
> do.call(c, lapply(flist, scan))
Read 10 items
Read 10 items
 [1]  12  23  34  45   6  67  78  54  34 324  12  23  34  45   6  67  78  54  34
[20] 324

HTH

答案 1 :(得分:2)

扫描功能是一个非常基本(但功能强大)的数据读取功能,您可以执行以下操作:

 mydata1 <- scan('your 1st filename here')

我的数据将是一个包含文件值的向量。