2013-08-23 34 views
8

.csvのファイルをRに読み込んで、dataと呼ばれる6つのdata.framesという大きなデータフレームに配置しましたfilenamesにあります。私のコードは、これまでである。複数のデータフレームの行名をデータフレーム内の列に変換する

filenames <- list.files(paste(mainDirInput,sep=""), pattern="Out.*csv", full.names=TRUE) 
data = lapply(filenames, function(f) { 
wb = read.csv(f, header=TRUE) 
}) 

各data.frameの行名と列名が正確である同じ、IがRの最初の列の例として、それらを行名を抽出し、代わりに持っていると思い私のデータフレームの1つのこのようなものだ:

  w x y z 
2012 01  12 43 87 09 
2012 02  14 53 75 76 
2012 03  76 34 76 28 
2012 04  41 36 85 16 
    :   : : : : 
    :   : : : : 

私も他のファイルにこのコードを使用できるようにする必要がありますので、私は単純に値2012 01, 2012 02, 2012 03...

に新しい列を作成することはできません。

答えて

29

Youveはdataframeの列に "w、x、y 、z "である。ちょうど

data$names <- rownames(data) 

新しい列を追加します。

+0

これは私の個々のdata.framesのために働くので、 'data [[1]] $ names <-rownames(data [[1]]')に適用すると動作しますが、 'data'はリスト6つの個々のデータフレームのうち、あなたが私に与えたものに類似したものを、すべてのデータに適用する方法を探しています。「データ」のフレーム。 – userk

+1

ああ、これはforループで適用するとうまくいきます!あなたのお手伝いをありがとうございます。(k in 1:length(data)){ data [[k]] $ date < - rownames(data [k]]) – userk

関連する問題