大家好,希望你們今天過得愉快,
我正在作業一個倍數data.frames,我必須彼此疊加,這是我期望的函式full_join來tidyverse說明我有以下資料集
name<-c("AAA","AAA","AAA")
value<-c(1:3)
tag<-c(0,0,0)
part_a<-data.frame(name,value,tag)
name<-c("AAA","AAA","AAA")
value<-c(1:3)
key<-c(1,1,1)
part_b<-data.frame(name,value,key)
我想要的輸出是這樣的:
| 姓名 | 價值 | 標簽 | 鑰匙 |
|---|---|---|---|
| AAA | 1 | 0 | 不適用 |
| AAA | 2 | 0 | 不適用 |
| AAA | 3 | 0 | 不適用 |
| AAA | 1 | 不適用 | 1 |
| AAA | 2 | 不適用 | 1 |
| AAA | 3 | 不適用 | 1 |
但相反,我得到了這個:
> full_join(part_a,part_b)
Joining, by = c("name", "value")
name value tag key
1 AAA 1 0 1
2 AAA 2 0 1
3 AAA 3 0 1
這讓我很困惑,因為我認為這個函式試圖找到共同值,然后聚合其余資料,但我真正想要的只是將所有資料dataframes放在一起,包括它們沒有共同點的列,我知道我不能使用rbind,因為此功能要求資料框具有相同的列名,如果你們能幫助我,我將不勝感激!
uj5u.com熱心網友回復:
full_join()正在合并您的資料框。由于您沒有指定要用作識別符號的列,因此它使用的是公共欄位(即name和value)。要簡單地組合資料框,您可以使用dplyr's bind_rows():
result <- bind_rows(part_a, part_b)
請注意,還有一個bind_cols()用于將多個資料幀中的變數(即列)組合成一個資料幀。
uj5u.com熱心網友回復:
library(dplyr)
part_a |> bind_rows(part_b)
name value tag key
1 AAA 1 0 NA
2 AAA 2 0 NA
3 AAA 3 0 NA
4 AAA 1 NA 1
5 AAA 2 NA 1
6 AAA 3 NA 1
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/439329.html
