我有這樣的代碼:匹配數據幀
df1 <- data.frame(letter=c("a", "a", "a", "b", "b", "c", "d", "e"),
value=c(NA))
df2 <- data.frame(letter=c("a", "b", "g", "f", "d", "e", "a", "b", "a", "c"),
number=c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10))
我想匹配信這兩個數據幀和DF2返回相應數量到值列DF1。
所以對於DF1結果看起來就會這樣的:
'DF2 [匹配(DF1 $信,DF2 $字母),]' –
看起來你也想按位置加入。你可以'library(data.table); setDT(df1)[,indx:= rowid(letter)]; set dT(df2)[,indx:= rowid(letter)]; df1 [df2,value:= number,on =。(letter,indx)]'(不要在'df1中預定義value = c '請在它創建一個邏輯向量而不是數字) –
@PierreLafortune這不是他們想要的。 –