我有一个文件夹,其中包含几个带有实验结果的子文件夹。在每个文件夹中,都有一个名为“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 文件中,我不需要此处显示的第一列和第一行:
然后列表会继续如上所示,直到最后一个数据点。能否请你给我一个提示,如何删除“V1”和第一列中的编号,使其看起来像这样:
默认情况下,您的数据使用行名和列名打印。尝试:
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)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句