我有一个包含多个子文件夹的文件夹,其中包含实验结果。在每个文件夹中,都有一个名为“List”的.txt文件,其中包含一列中的所有测量值。 我已经能够使用以下代码将所有这些.txt文件组合在一起:
myFiles = list.files(path = ".", recursive = TRUE, pattern = "List.txt", full.names = TRUE)
data <- lapply(myFiles, read.table, sep="\t", header=FALSE)
names(data) <- myFiles
for(i in myFiles)
data[[i]]$Source = i
do.call(rbind, data)
files <- list.files(path="~/Desktop/exp/.", pattern=".txt")
DF <- NULL
for (f in files) {
dat <- read.csv(f, header=F, sep="\t", na.strings="", colClasses="character")
dat$file <- unlist(strsplit(f,split=".",fixed=T))[1]
DF <- rbind(DF, dat)
}
data <- lapply(myFiles, read.table, sep="\t", header=FALSE)
combined.data <- do.call(rbind, data)
write.csv(combined.data, "~/Desktop/exp/results.csv")
如果我这样做,它可以很好地组合所有文件。但是,在.csv文件中,我不需要第一列和第一行显示在这里:
.csv file as it is exported now
然后列表继续如上所示,直到最后一个数据点。你能不能给我一个提示如何删除第一栏中的“V1”和编号,以便它看起来像这样:
答案 0 :(得分:1)
默认情况下,您的数据会打印出行名和字符串。尝试:
write.csv(combined.data, "~/Desktop/exp/results.csv",row.names=F,col.names=F)
编辑:write.csv
在将row.names和col.names都设为False时抛出错误,因此请尝试使用readr包
library(readr)
write_csv(combined.data, "~/Desktop/exp/results.csv",col_names=FALSE)