丢弃R中数据集的第一列

时间:2013-10-24 15:06:33

标签: arrays r csv read.table

我想阅读300 * .csv格式的数组,丢弃第一行和第一列。我知道如果我在“read.csv”中使用“header = TRUE”,它就不会考虑第一行。例如:

  mydta.without.first.row <- read.csv("C:\\Users\\Desktop\\myarray.csv",header=FALSE)

我是否可以使用任何论据并丢弃第一列?

1 个答案:

答案 0 :(得分:4)

您可以在列表中加载300个数据集:

我首先将所有.csv文件放在一个目录中,然后:

gdir <- "dir-containing-your-300-files"
fn <- list.files(gdir, pattern="*.csv", full.names=F)
ldf <- lapply(fn, function(x) read.csv(x,header=F)[-1,-1])

您最终会得到一个包含300个data.frames的列表,而不包含第一行和第一列。每个列表元素都有一个名称(您的文件名)附加到它。

如果要在文件中编写新的data.frames(使用new.filename.csv作为文件名)。

mapply(write.table,x=ldf,file=paste("new",fn,sep="."),MoreArgs=list(row.names=F,col.names=F,sep=","))

这将写入新文件,因此您不会删除任何原始文件。 您可能需要调整命令以满足您的需要。