将多个csv文件(类似列)合并为一个,并在r中选择行和列
我有大约300-500个CSV文件,开头有一些字符信息,两列是数字数据。我想制作一个data.frame,其中包含所有数值,这样我就有一次X列和多个Y列,而没有字符行将多个csv文件(类似列)合并为一个,并在r中选择行和列,r,loops,csv,R,Loops,Csv,我有大约300-500个CSV文件,开头有一些字符信息,两列是数字数据。我想制作一个data.frame,其中包含所有数值,这样我就有一次X列和多个Y列,而没有字符行 **File1** has two-column and more than a thousand rows: an example looks like info info info info info info X Y 1 50.3 2 56.2 3 96.5 4
**File1** has two-column and more than a thousand rows: an example looks like
info info
info info
info info
X Y
1 50.3
2 56.2
3 96.5
4 56.4
5 65.2
info 0
**File2**
info info
info info
info info
X Y
1 46.3
2 65.2
3 21.6
4 98.2
5 25.3
info 0
Only Y values are changing from file to file, I want to add all the files in one file with selective rows and make a data frame. Such as I want as a data frame.
X Y1 Y2
1 46.3 50.3
2 65.2 56.2
3 21.6 96.5
4 98.2 56.4
5 25.3 65.2
I tried
files <- list.files(pattern="*.csv")
l <- list()
for (i in 1:length(files)){
l[[i]] <- read.csv(files[i], skip = 3)
}
data.frame(l)
This gives me
X1 Y1 X2 Y2
1 46.3 1 50.3
2 65.2 2 56.2
3 21.6 3 96.5
4 98.2 4 56.4
5 25.3 5 65.2
info 0 info 0
**File1**有两列和一千多行:示例如下
信息
信息
信息
xy
1 50.3
2 56.2
3 96.5
4 56.4
5 65.2
信息0
**文件2**
信息
信息
信息
xy
1 46.3
2 65.2
3 21.6
4 98.2
5 25.3
信息0
只有Y值在不同的文件之间变化,我想将所有文件添加到一个文件中,并选择行,形成一个数据框。比如我想要的数据帧。
X Y1 Y2
1 46.3 50.3
2 65.2 56.2
3 21.6 96.5
4 98.2 56.4
5 25.3 65.2
我试过了
文件定义一个函数Read
,该函数读取一个文件,删除所有不以数字开头的行。我们使用sep=“,”
指定每个文件中的字段以逗号分隔。然后使用Read
和Read.zoo
读取并合并提供zoo对象z
的文件。最后,将其用作zoo对象或将其转换为数据帧,如图所示
library(zoo)
Read <- function(f) {
read.table(text = grep("^\\d", readLines(f), value = TRUE), sep = ".")
}
z <- read.zoo(Sys.glob("*.csv"), read = Read)
DF <- fortify.zoo(z)
图书馆(动物园)
阅读感谢你的回答。我有X和Y作为列标题,不是数字。对,但你不需要它们。不管怎样,他们都是一样的。显示的代码将按文件名标记每列。