【发布时间】:2016-09-15 02:48:49
【问题描述】:
最初我有这个 TSV 文件(示例):
name type qty
cxfm 1C 0
d2 H50 2
g3g 1G 2
hb E37 1
nlx E45 4
所以我使用 read.csv 从 .tsv 文件中读取数据,但我总是得到这个输出:
name type qty
1 cxfm 1C 0
2 d2 H50 2
3 g3g 1G 2
4 hb E37 1
5 nlx E45 4
而不是得到这个:
name type qty
1 cxfm 1C 0
2 d2 H50 2
3 g3g 1G 2
4 hb E37 1
5 nlx E45 4
有什么想法吗?这是我用来读取文件的:
file_list<-list.files()
for (file in file_list){
if (!exists("dataset")){
dataset <- read.table(file, header = TRUE, sep = "\t", row.names = NULL, blank.lines.skip = TRUE, fill = TRUE)
names(dataset) <- c("rowID", names(dataset)[1:ncol(dataset)-1])
}
if (exists("dataset")){
temp_dataset <- read.table(file, header = TRUE, sep = "\t", row.names = NULL, blank.lines.skip = TRUE, fill = TRUE)
names(temp_dataset) <- c("rowID", names(temp_dataset)[1:ncol(temp_dataset)-1])
dataset <- rbind(dataset, temp_dataset)
rm(temp_dataset)
}
}
dataset <- unique(dataset)
write.table(dataset, file = "dataset.tsv", sep = "\t")
【问题讨论】:
-
你试过
row.names=False吗? -
@Erin 我想建议这个,但也许他想保留行名。
-
哦,对了!实际上我认为 row.names=1 可能会奏效。这将告诉 R 标题的第一个元素对应于 csv 中的第二列...
-
我放 row.names = NULL 因为我的第一列中有重复值(以避免出现此错误:
duplicate 'row.names' are not allowed)
标签: r data-analysis read.table read.csv