将2个不同长度的向量合并成一个数据框

Rad*_*hiu 1 merge r vector dataframe sql-server-2016

我不得不说,我半小时前才开始使用 R,从 SQL Server 运行 R 脚本,所以我就是他们所说的完全菜鸟。

我正在尝试将两个 R 向量合并到一个数据框中,但我的问题是向量的长度不同。

我不确定这是否可以做到,尽管我不一定明白为什么不可以?

我的 R 脚本是:

n <- c(2, 3, 5, 6);
s = c("aa", "bb", "cc");
df = data.frame(n, s);
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

data.frame(n, s) 中的错误:参数意味着不同的行数:4、3 调用:source -> withVisible -> eval -> eval -> data.frame

ScaleR 中的错​​误。检查输出以获取更多信息。eval(expr, envir, enclos) 中的错误:ScaleR 中的错​​误。检查输出以获取更多信息。调用:source -> withVisible -> eval -> eval -> .Call 执行停止

本质上我想象的就是生成一个类似于LEFT JOIN.

2    aa
3    bb
5    cc
6    NULL
Run Code Online (Sandbox Code Playgroud)

我问自己是否应该在 R 数据框中指定“替换 NULL”值,但我不确定这是否是一个解决方案。

989*_*989 6

这个可能是:

sq <- seq(max(length(n), length(s)))
data.frame(n[sq], s[sq])

#  n.sq. s.sq.
#1     2    aa
#2     3    bb
#3     5    cc
#4     6  <NA>
Run Code Online (Sandbox Code Playgroud)