У меня есть два кадра данных.Для некоторых строк df1 есть подходящая строка в df2.Теперь необходимо манипулировать некоторыми столбцами df1, чтобы они содержали сумму своего собственного значения и эквивалентное значение из df2.
В следующем примере столбцы 'count1' и 'count2' должны быть суммированы,но не столбец 'type'.
df1 <- data.frame(id = c("one_a", "two_a", "three_a", "four_a"), type = c(8,7,6,5), count1 = c(1,2,1,NA), count2 = c(NA,0,1,0), id_df2 = c("one", "two", "three", "four"))
df2 <- data.frame(id = c("one", "two", "four"), type = c(8,7,5), count1 = c(0,1,1), count2 = c(0,0,1))
result <- data.frame(id = c("one_a", "two_a", "three_a", "four_a"), type = c(8,7,6,5), count1 = c(1,3,1,1), count2 = c(0,0,1,1))
> df1
id type count1 count2 id_df2
1 one_a 8 1 NA one
2 two_a 7 2 0 two
3 three_a 6 1 1 three
4 four_a 5 NA 0 four
> df2
id type count1 count2
1 one 8 0 0
2 two 7 1 0
3 four 5 1 1
> result
id type count1 count2
1 one_a 8 1 0
2 two_a 7 3 0
3 three_a 6 1 1
4 four_a 5 1 1
Были похожие вопросы, и я попытался найти решение, разделив кадры данных и объединив их впоследствии.Мне просто интересно, есть ли более элегантный способ сделать это.В моем исходном наборе данных около 300 столбцов, поэтому я ищу решение, которое можно масштабировать.
Заранее спасибо chuckmorris