2017-08-27 69 views
-3

我建立這樣一個數據幀:如何特徵向量的名字列添加到數據幀中的R

dput(au.weighted.scores) 

    structure(list(AUDIT = c(0.283333333333333, 0.283333333333333, 
    0.183333333333333, 0.3, 0.2625), CORC = c(0.2, 0, 0.76, 0.82, 
    0.545), GOV = c(0.82, 0.82, 0.74, 0.66, 0.76), PPS = c(0.2, 0.2, 
    0.2, 0.266666666666667, 0.216666666666667), TMSC = c(0.525, 0.525, 
    0.25, 0.158333333333333, 0.189583333333333), TRAIN = c(0.233333333333333, 
    0.233333333333333, 0.216666666666667, 0.266666666666667, 0.2375 
    )), .Names = c("AUDIT", "CORC", "GOV", "PPS", "TMSC", "TRAIN" 
    ), row.names = c(NA, -5L), class = "data.frame") 

我需要添加伴隨該數據幀的行名稱的列。該列是c(「Group1」,「Group2」,「Group3」,「Group4」,「Group5」)。

如何添加此列名稱與它自己的列名稱,如「Group_Name」?

最終的結果是這樣的:

au.weighted.scores 

Group_Name  AUDIT CORC GOV  PPS  TMSC  TRAIN 
1 Group1  0.2833333 0.200 0.82 0.2000000 0.5250000 0.2333333 
2 Group2  0.2833333 0.000 0.82 0.2000000 0.5250000 0.2333333 
3 Group3  0.1833333 0.760 0.74 0.2000000 0.2500000 0.2166667 
4 Group4  0.3000000 0.820 0.66 0.2666667 0.1583333 0.2666667 
5 Group5  0.2625000 0.545 0.76 0.2166667 0.1895833 0.2375000 
+4

我有一種感覺有人問這之前... –

+1

'au.weighted.scores%>%變異(GROUP_NAME = C( 「組1」, 「組2」,「組3 「,」Group4「,」Group5「))' – alistaire

+2

[如何將新列添加到數據框(到前端而不是結束)?](https://stackoverflow.com/questions/19508256/how-to -add-new-column-to-an-dataframe-to-the-front-not-end)或者這個:https://stackoverflow.com/questions/10150579/adding-a-column-to-a-data -frame – mt1022

回答

2

我們可以paste創建載體和cbind它與原始數據集

cbind(Group_Name = paste0("Group", seq_len(nrow(au.weighted.scores))), au.weighted.scores) 
# Group_Name  AUDIT CORC GOV  PPS  TMSC  TRAIN 
#1  Group1 0.2833333 0.200 0.82 0.2000000 0.5250000 0.2333333 
#2  Group2 0.2833333 0.000 0.82 0.2000000 0.5250000 0.2333333 
#3  Group3 0.1833333 0.760 0.74 0.2000000 0.2500000 0.2166667 
#4  Group4 0.3000000 0.820 0.66 0.2666667 0.1583333 0.2666667 
#5  Group5 0.2625000 0.545 0.76 0.2166667 0.1895833 0.2375000 

請注意,我們使用cbind所以列會在預期產出中處於第一位置

+1

簡單而有效。我最終以這種方式使用它:au.weighted.scores < - cbind(AU = paste0(au.names),au.weighted.scores)\\其中au.names是我想包括的名稱的字符向量。 – Zach

2

如果您只是想以最簡單的方式,我這樣做:

au.weighted.scores$Group_Name <- paste0("Group", 1:5)

相關問題