我不得不说我半小时前才开始使用R,从SQL Server运行R脚本,所以我称之为完整的菜鸟。
我试图将两个R矢量合并到一个数据帧中,但我的问题是矢量的长度不同。
我不确定是否可以这样做,虽然我不一定明白为什么不这样做?
我的R脚本是:
n <- c(2, 3, 5, 6);
s = c("aa", "bb", "cc");
df = data.frame(n, s);
我得到的错误是:
data.frame(n,s)出错:参数意味着数量不同 行:4,3个电话:来源 - &gt; withVisible - &gt; eval - &gt; eval - &gt; data.frame
ScaleR出错。检查输出以获取更多信息。错误 eval(expr,envir,enclos):ScaleR中的错误。检查输出 更多信息。电话:来源 - &gt; withVisible - &gt; eval - &gt; eval - &gt; .Call Execution停止了
基本上我想象的是生成类似于LEFT JOIN
的结果集。
2 aa
3 bb
5 cc
6 NULL
我问自己是否应该指定一个&#34;替换NULL&#34; R数据框中的值,但我不确定这是否是一个解决方案。
答案 0 :(得分:2)
这个可能:
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>