首页 > 解决方案 > 合并多个 csv 文件后如何删除标题(列名)

问题描述

我想组合来自多个具有相同格式的 csv 文件的数据,以便我可以分析它们,但我无法从几个组合文件中删除标题/列名。

我使用该lapply函数来获取所有这些文件的上下文列表,它看起来像:

ID X1 X2 ---> header of 1st csv file
1  5  6
2  6  9
.......
10 7  8

.

ID X1 X2 --> headers 2nd csv file
1  5  6
2  6  9
.......
10 7  8
e.t.c

如何删除标题字符以便对这些数据应用数学运算?

我的代码:

data<-lapply(files, read.csv)
mean <-(mean(data$column2, na.rm=TRUE))

我也尝试过read.csv(headers=FALSE),但是当函数在 lapply 内时,R 不接受这个

我期望组合文件的数据框的平均值,但我收到错误:

在 mean.default(data$column2, na.rm = TRUE) :参数不是数字或逻辑:返回 NA

标签: r

解决方案


您可以直接导入数据而无需列名:

read_matrix <- function (csvfile) {
    a <- read.csv(csvfile, header=FALSE)
    matrix(as.matrix(a), ncol=ncol(a), dimnames=NULL)
}
df <-  read_matrix('even_iops_Jan15.csv')

另一个选项是将它们设置为 null:

names(df) <- NULL

推荐阅读