-2

編集

長さの異なる 2 つのデータフレームがあります。

kframe <- data.frame(One=c("NO123","NO234", "NO345", "NO432"),Two=c("NAME1","NAME2","NAME3","NAME4"), Three=c(1,2,3,4))
lframe <- data.frame(One=c("NO123","NO587", "NO345"),Two=c("N1","N2","N2"), Three=c(2,3,4))

lframe$One[x](with x=1:nrow(lframe))の値が に存在するかどうかを確認しkframe$One、true の場合は の値を置き換え、lframe$Two[x]そうでない場合は何もしません。

これを行う方法?

編集:

または、別の言い方をすると、true の場合、$Three に値を追加します...

期待される結果:

lframe:

  One   Two  Three
1 NO123 NAME1 3
2 NO587 N2    3
3 NO345 NAME3 7
4

1 に答える 1

0

単純なforループを実行できます。

for (i in 1:nrow(kframe)) {
   if (lframe$One[i] == kframe$One[i]) {
      lframe$Two[i] <- kframe$Two[i]
   }
}
于 2012-11-26T11:32:37.157 に答える