cbind(1:2, 1:10)
[,1] [,2]
[1,] 1 1
[2,] 2 2
[3,] 1 3
[4,] 2 4
[5,] 1 5
[6,] 2 6
[7,] 1 7
[8,] 2 8
[9,] 1 9
[10,] 2 10
Run Code Online (Sandbox Code Playgroud)
我想要一个像下面这样的输出
[,1] [,2]
[1,] 1 1
[2,] 2 2
[3,] 3
[4,] 4
[5,] 5
[6,] 6
[7,] 7
[8,] 8
[9,] 9
[10,] 10
Run Code Online (Sandbox Code Playgroud) 我有一个(相当长的)矢量列表.这些向量由我使用strsplit()句子函数得到的俄语单词组成.
以下是head()返回的内容:
[[1]]
[1] "?????" "?????????" "??????" "?" "????"
[[2]]
[1] "??" "?????????" "????????" "?" "?????"
[[3]]
[1] "?????" "????????" "??????-?????????" "?" "??????????" "???????"
[[4]]
[1] "?????" "??" "????," "???" "??"
[[5]]
[1] "????????????," "?" "?????????" "??" "?????"
[[6]]
[1] "??????" "??????????" "???."
Run Code Online (Sandbox Code Playgroud)
注意,矢量具有不同的长度.
我想要的是能够阅读每个句子,第二个单词,第三个单词等的第一个单词.
期望的结果将是这样的:
P1 P2 P3 P4 P5 P6
[1] "?????" "?????????" "??????" "?" "????" NA
[2] "??" "?????????" "????????" "?" "?????" NA
[3] "?????" "????????" "??????-?????????" "?" "??????????" "???????"
[4] "?????" "??" …Run Code Online (Sandbox Code Playgroud) 我有几个长度不等的向量,我想要cbind他们.我把矢量放到一个列表中,我试图结合使用do.call(cbind, ...):
nm <- list(1:8, 3:8, 1:5)
do.call(cbind, nm)
# [,1] [,2] [,3]
# [1,] 1 3 1
# [2,] 2 4 2
# [3,] 3 5 3
# [4,] 4 6 4
# [5,] 5 7 5
# [6,] 6 8 1
# [7,] 7 3 2
# [8,] 8 4 3
# Warning message:
# In (function (..., deparse.level = 1) :
# number of rows of result is not a multiple of vector …Run Code Online (Sandbox Code Playgroud) 我不得不说,我半小时前才开始使用 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”值,但我不确定这是否是一个解决方案。