我是新來的R和新的stackoverflow。我試圖找出data.table,並看着「R data.table替換另一個data.table的值的索引」,並認爲我明白,但不能得到我想要的。R data.table替換多個列中的值
我有兩個數據框 - 第一個是我感興趣的數據,第二個是包含名稱/ ID的鍵,用於轉換第一個數據框中的ID。我想使用「key」data.table將表$ id1和表$ id2中的數字轉換爲「key」data.table中的「Names」。下面是我到目前爲止管理:
table<-data.table("Sample" = sample(40:46, 6), "Conc1" = sample(100:106,6),
"id1" = as.character(sample(1:6, 6)), "Conc2" = sample(200:206,6),
"id2" = as.character(sample(1:6, 6)))
key<-data.table("Name" = c("Sally", "John", "Roger", "Bob", "Kelsey", "Molly"),
"id1" = as.character(1:6))
setkey(table, id1)
setkey(key, id1)
table[key, `:=`(id1 = i.Name)]
到目前爲止,我已經得到了這個(取代值表$ ID1名),但無法弄清楚如何也改變ID2不改變的列名,重置按鍵並重新爲id2執行上述同樣的步驟。在真實的數據集中,會有多個Sally's,John's等,我希望代碼使用相同的密鑰「翻譯」兩列。
希望代碼使用data.table(用於學習目的),但是如果有另一個包可以做得更好,那也會很棒。謝謝!