![](/img/trans.png)
[英]How to add certain rows from a column in one data.table to another data.table under a heading?
[英]How to update selected rows in a data.table if they match value from another data.table
我想找到一個 data.table 解決方案,用於從另一個表中的值更新選定的行:
表 1 看起來像這樣
id var grade
1 var1 X
2 var2 B
3 var3 X
4 var4 D
5 var5 X
表 2
id var grade
1 var1 Y
2 var2 B2
3 var3 Y
4 var4 D2
5 var5 Y
更新后的表 1 如下所示
id var grade
1 var1 Y
2 var2 B
3 var3 Y
4 var4 D
5 var5 Y
任何幫助深表感謝
我們可以只使用第二個數據集並刪除最后的數字
df2$grade <- sub("\\d+$", "", df2$grade)
或者在data.table
,將第一個 data.frame 轉換為 'data.table',並將第二個數據集 'grade' 分配給 'grade',由 'id', 'var' 連接並刪除末尾的數字
library(data.table)
setDT(df1)[df2, grade := i.grade, on = .(id, var)][, grade := sub("\\d+$", "", grade][]
或者正如@IceCreamToucan 評論的那樣
setDT(df1)[df2, grade := sub("\\d+$", "", i.grade), on = .(id, var)]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.