【问题标题】:Dropping extra column in Tab delim file在 Tab delim 文件中删除额外的列
【发布时间】:2011-08-23 10:06:17
【问题描述】:

我尝试使用以下 R 命令将不同的制表符分隔文件合并到单个文件中。

如果你观察到,我什至使用 write.table 命令保存文件。现在我需要阅读相同的文件以进行进一步分析。我面临的最大问题是有一个额外的列没有自动创建任何列名。 如果您观察到在我使用 write.table 函数时自动创建了一个列(红色)。 我想删除该列,因为它妨碍了所有进一步的计算。

combine=function(file) { 
split_list <- unlist(strsplit(file,split=","))
setwd("D:/combine")
dataset <- do.call("cbind",lapply(split_list,FUN=function(files) { read.table(files,header=TRUE, sep="\t") } ) )
names(dataset)[1]=paste("Probe_ID")
drop=c("ProbeID")
dataset=dataset[,!(names(dataset)%in%drop)]
dataset$X=NULL
write.table(dataset,file="D:/output/illumina.txt",sep="\t",col.names=NA)
return ("illumina.txt") 
}

【问题讨论】:

    标签: r


    【解决方案1】:

    write.table 中使用参数row.names=FALSE

    【讨论】:

    • 没问题。如果它解决了问题,请不要忘记接受答案;)
    • James。如果您观察我的专栏名称,您会发现“X”附加到 array_name(即 X448...)。我不知道如何摆脱它,因为那不是数组名称的一部分..任何帮助:-)
    • 可能是因为你设置了col.names=NA。尝试忽略它,或使用col.names=TRUE
    • 我都做了,但没有帮助..X仍然添加到arrayname
    • dataset 有列名吗?
    【解决方案2】:

    正如@James 所说——或者在read.table() 中使用row.names=1 来指示在将表读回R 时第一列指定表的行标识符。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-18
      • 2022-11-21
      • 2015-07-06
      • 2014-01-13
      • 2014-05-20
      • 2019-12-05
      • 1970-01-01
      相关资源
      最近更新 更多