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

Merge 2 vectors with different lengths into a data frame

不得不说,我半小时前才开始使用 R,运行 来自 SQL 服务器的 R 脚本,所以我就是他们所说的完全菜鸟.

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

我不确定这是否可以完成,虽然我不一定明白为什么不?

我的 R 脚本是:

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

我得到的错误是:

Error in data.frame(n, s) : arguments imply differing number of rows: 4, 3 Calls: source -> withVisible -> eval -> eval -> data.frame

Error in ScaleR. Check the output for more information. Error in eval(expr, envir, enclos) : Error in ScaleR. Check the output for more information. Calls: source -> withVisible -> eval -> eval -> .Call Execution halted

基本上我想做的是生成类似于 LEFT JOIN.

的结果集
2    aa
3    bb
5    cc
6    NULL

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

这个可能是:

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>