从 R 中多个数据框中的列创建唯一值列表

She*_*ila 2 r dataframe

假设我有 3 个数据框(df1、df2、df3)来解释汽车的颜色、年份和品牌。每个数据框都有一个名为“id”的列。并非每个数据框中的所有 id 都匹配,但我想在所有三个数据框中创建一个唯一 id 列表。

 df1 looks like this:  

 id     color
 5A     black
 7T     green
 8Q     gold
 4D     white

 df2 looks like this:  

 id     make
 5A     BMW
 6N     Benz
 8Q     GM
 3G     Toyota

 df3 looks like this:  

 id     year
 5A     2003
 2B     2010
 8Q     1999
 4D     2007
Run Code Online (Sandbox Code Playgroud)

这是制作3个数据框的代码:

 df1 <- data.frame(id=c("5A", "7T", "8Q", "4D"), color=c("black", "green", "gold", "white"))
 df2 <- data.frame(id=c("5A", "6N", "8Q", "3G"), make=c("BMW", "Benz", "GM", "Toyota"))
 df3 <- data.frame(id=c("5A", "2B", "8Q", "4D"), year=c(2003,2010,1999,2007))
Run Code Online (Sandbox Code Playgroud)

我希望我的最终列表具有以下值:

 id
 5A
 7T
 8Q
 4D
 6N
 3G
 2B
Run Code Online (Sandbox Code Playgroud)

我尝试使用 unique() 但这只适用于一个向量?有什么想法吗?

Nan*_*Nan 5

unique(c(df1$id, df2$id, df3$id)) 
Run Code Online (Sandbox Code Playgroud)

适用于数值。

unique(c(as.character(df1$id), as.character(df2$id), as.character(df3$id)))
Run Code Online (Sandbox Code Playgroud)

将值作为字符返回,如果需要,您可以将它们操纵回因子。