将 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>
不得不说,我半小时前才开始使用 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>