2016-08-16 21 views
1

我有15個數據幀列表中的每個具有以下幾列如何在列表中指定不同的列名

> head(final_data[[1]]) 
     DateTime Value 
147 2013-03-01 2320.58 
148 2013-04-01 2336.89 
149 2013-05-01 2213.78 
150 2013-06-01 2135.90 
151 2013-07-01 2302.79 
152 2013-08-01 2177.01 

我想的名字"Value"更改爲一個不同的名稱爲所有dataframes使得這15個數據幀的列的最終名稱必須看起來像

names(final_data[[1]]) 
DateTime  A 

names(final_data[[2]]) 
DateTime  B 

謝謝。

回答

1

我們可以使用lapply遍歷的list順序和做作業

final_data2 <- lapply(seq_along(final_data), function(i) { 
             d1 <- final_data[[i]] 
             names(d1)[2] <- LETTERS[i] 
             d1 
      }) 

或者使用Map

final_data2 <- Map(function(x,y) {names(x)[2] <- y; x}, final_data, LETTERS[1:15]) 
+1

非常感謝@akrun –

相關問題