[英]How to insert column in dataframe with different length from data frame in R
[英]How to add a column of different length to a data frame in R?
我有兩個 DF,如下所示:
df1
ID Borrower
1 A
2 A
3 A
df2
ID Borrower Category
1 A X
1 A X
1 A X
2 A X
2 A X
2 A X
3 A X
3 A X
3 A X
我想獲取 df2 的第三列並將其添加到第一個 df 中。 我想要得到的最終結果如下:
ID Borrower Category
1 A X
2 A X
3 A X
我試過df3<-left_join(df1, df2, by="ID", all=FALSE)
但沒有用。 這段代碼對我產生了類似df2
的東西(所以 ID=1,1,1,2,2,2,3,3,3)。 如何添加“類別”列並獲得如上所示的所需結果? 謝謝:):)
這是因為您在df2
中有重復的值。 你可以這樣做:
library(tidyverse)
df1 <- tibble::tribble(
~ID, ~Borrower,
1 , "A",
2 , "A",
3 , "A"
)
df2 <- tibble::tribble(
~ID, ~Borrower, ~Category,
1L, "A", "X",
1L, "A", "X",
1L, "A", "X",
2L, "A", "X",
2L, "A", "X",
2L, "A", "X",
3L, "A", "X",
3L, "A", "X",
3L, "A", "X"
)
df1 %>%
left_join(distinct(df2))
Joining, by = c("ID", "Borrower")
# A tibble: 3 x 3
ID Borrower Category
<dbl> <chr> <chr>
1 1 A X
2 2 A X
3 3 A X
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.