我必須要有數據表。數據表1有兩個變量和561個觀測值,而數據表2有563個變量和10,000個觀測值。我想弄清楚,我從數據表1 code_name
變量的意見如何重命名數據表變量2.根據R中的行命名變量
我有什麼:
數據表1
code code_name
11 rasf
04 iadf
27 pqwr
09 pklf
86 irmw
30 pwql
數據表2
activity subject V1 V2 V3 V4 V5 V6
5 2 0.29 0.19 5.3 1.8 8.3 0.3
9 7 0.11 0.10 7.8 2.0 0.5 0.9
9 7 0.19 1.10 8.0 1.9 0.4 0.7
我需要什麼:
activity subject rasf iadf pqwr pklf irmw pwql
5 2 0.29 0.19 5.3 1.8 8.3 0.3
9 7 0.11 0.10 7.8 2.0 0.5 0.9
9 7 0.19 1.10 8.0 1.9 0.4 0.7
我所做的:
#Extracts all rows and just column two from the data table 1
new_data_table1 <- data_table1[,2]
#Set names on data table 2 to build the final data
final_data <- setnames(data_table2, names(data_table2), c("activity", "subject", new_data_table1))
我的代碼的問題是,當我從數據表1中提取的所有行它給出了一個長長的清單,表現爲結構和標籤矢量數據。正因爲如此,當我運行我的代碼,我得到這個表:
activity subject 243 244 245 246 247 248
5 2 0.29 0.19 5.3 1.8 8.3 0.3
9 7 0.11 0.10 7.8 2.0 0.5 0.9
9 7 0.19 1.10 8.0 1.9 0.4 0.7
爲變量的新名稱是數字,因爲它們是結構,而不是標籤。
使用的名稱函數變量命名這個答案可能是由'是盲目使用grep'返回的風險指數用'df1'中的替換'df2'中的名字。 –
@TimBiegeleisen我想OP的列是按順序排列的。假設兩個數據集中元素的數量相同,那麼即使中間還有其他列,'grep'也會給出'df2'中列的索引。但是,這裏的假設是'V'列的編號是遞增的。 – akrun
沒錯!我的數據集的「V」列按順序編號。 – Rods2292