2013-08-23 141 views
8

我有一個.csv文件的列表,我已經讀入R並將其放置在一個名爲data的大數據框中,該數據框由6個data.frames組成,這6個文件在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行名和列名是完全一樣的,我想提取行名稱,而是讓他們在河的第一列的一個例子我的數據幀中的一個的會是這樣的:

  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

你有一個dataframe名爲「w,x,y」的列,z「。只要做

data$names <- rownames(data) 

添加一個新的列。

+0

謝謝,這適用於我個人的data.frames,所以它適用於數據[[1]] $ names <-rownames(data [[1]]),但數據是列表6個人data.frames,我正在尋找一種方法來應用類似於你給我的東西,但我的所有data.frames在'數據'。 – userk

+1

噢,如果我將它應用於for循環,這個方法就行得通!對於(k in 1:length(data)){ data [[k]] $ date < - rownames(data [[k]])}'感謝您的幫助 – userk

相關問題