2011-08-23 5 views
3

次のRコマンドを使用して、異なるタブデリミットファイルを1つのファイルにマージしようとしました。タブデリートファイルの余分な列をドロップ

私が見ても、私はwrite.tableコマンドを使ってファイルを保存します。今私は、さらなる分析のために同じファイルを読む必要があります。私が直面している最大の問題は、自動的に作成された列名のない余分な列があることです。 Screen shot of delim file opened in excel with Extra column(Red) write.table関数を使用すると、自動的に作成される列(赤色)があることがわかった場合。 私はすべてのそれ以上の計算を妨げるので、その列を取り除きたい。 My actual output like how I need it to be saved

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") 
} 

答えて

5

write.tableに引数row.names=FALSEを使用してください。 @Jamesとして

+0

ありがとうございました。James – Dinesh

+0

問題ありません。 )問題を解決する答えを受け入れることを忘れないでください; – James

+0

James.if私の列の名前を観察すると、 "X"がarray_name(ie.X448 ...)に追加されています。これは配列名の一部ではないのでこれを取り除くことができます。助け:-) – Dinesh

2

は言う - またはRに戻しテーブルを読み取るとき、最初の列は、テーブルの行識別子を指定することを示すために、read.table()row.names=1を使用します。

+0

は役に立ちました – Dinesh