目前,當加入兩個(不同年份的)資料集時,當第二個資料集的觀測值少于第一個資料集時,我會得到第二個資料集的副本。
下面,ID 1 在 y 年只有 1 個觀測值,但由于第 x 年的第一個資料集總共有 3 個觀測值,它會重復出現。我不想要重復項,而只是 NAs。
所以我目前得到的是:
ID Value.x N.x Value.y N.y
<dbl> <chr> <dbl> <chr> <dbl>
1 1 A 6 A 2
2 1 B 7 A 2
3 1 C 1 A 2
我想要的是:
ID Value.x N.x Value.y N.y
<dbl> <chr> <dbl> <chr> <dbl>
1 1 A 6 A 2
2 1 B 7 NA NA
3 1 C 1 NA NA
最終結果是,我的經理可以知道在 x 年客戶 1 訂購了 nx 數量的 A、B、C。在第 y 年,他們只訂購了 ny 數量的 A。
資料:
structure(list(ID = c(1, 1, 1), Value = c("A", "B", "C"), N = c(6,
7, 1)), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA,
-3L))
structure(list(ID = 1, Value = "A", N = 2), class = c("tbl_df",
"tbl", "data.frame"), row.names = c(NA, -1L))
uj5u.com熱心網友回復:
我會這樣做:
merge(tbl_df1, tbl_df2, by = c("ID", "Value"), all = TRUE)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/510824.html
標籤:r加入
