小编phi*_*aba的帖子

如何通过将相同的值写入同一行,将两个不同长度的向量写入一个数据帧?

我想将两个长度不同且值部分相等的向量写入一个数据帧。相同的值应写入同一行。

ef1 <- c('A1', 'A2', 'B0', 'B1', 'C1', 'C2')
ef2 <- c('A1', 'A2', 'C1', 'C2', 'D1', 'D2')
Run Code Online (Sandbox Code Playgroud)

如果我将它们写在一个数据框中,它看起来像这样:

df <- data.frame (ef1, ef2)
> df
  ef1 ef2
1  A1  A1
2  A2  A2
3  B0  C1
4  B1  C2
5  C1  D1
6  C2  D2
Run Code Online (Sandbox Code Playgroud)

但我想要的是这个:

> df
  ef1 ef2
1  A1  A1
2  A2  A2
3  B0  NA
4  B1  NA
5  C1  C1
6  C2  C2
7  NA  D1
8  NA  D2
Run Code Online (Sandbox Code Playgroud)

我很感激任何帮助。

merge r vector dataframe

8
推荐指数
1
解决办法
206
查看次数

标签 统计

dataframe ×1

merge ×1

r ×1

vector ×1