-1

ユーザーが入力した各ファイルの特定の1つの列またはすべての列の名前を変更したいと考えています。これまで私はこれを試しました:

File.names<-(tk_choose.files(default="", caption="Files", multi=TRUE, filters=NULL, index=1))
Num.Files<-NROW(File.names)
test<-sapply(1:Num.Files,function(x){readLines(File.names[x])})
data<-lapply(1:Num.Files, function(x){data<-read.table(header=TRUE, text=test)})
new.names<-names(data)
new.names[[14]]<-'column14'
names(data) <- new.names

しかし、私は得る:

Error in names(data) <- new.names : 
  'names' attribute [14] must be the same length as the vector [1]
Execution halted

元の列名は次のとおりです。

Targ  cov  av_cov  87A_cvg  87Ag  87Agr  87Agr  87A_gra  87A%_1   87A%_3   87A%_5   87A%_10  87A%_20  87A%_30 87A%_40   87A%_50 87A%_75 87A%_100

この方法で複数のファイルの列名を変更する方法について誰か提案がありますか?ありがとう、ステフ

4

1 に答える 1

1
File.names<-(tk_choose.files(default="", caption="Choose your files", multi=TRUE, filters=NULL, index=1))
Num.Files<-NROW(File.names)
# read the files into a dummy variable
test<-sapply(1:Num.Files,function(x){readLines(File.names[x])})
# manipulate the first file
data<-read.table(header=T,text=test[1])
names(data)[14]<-'column14'

tk_choose.filesファイルを選択できます。これらのファイル名を文字ベクトルに格納します。次に、データをRに読み込む必要がありreadLinesます。簡単にするために、適切なファイルからすべてのデータを保存するために使用しました。read.tablesまたはread.csv直接使用できます。

于 2012-08-13T16:10:35.383 に答える