42-*_*42- 18
其他人提到了名单.我看到其他可能性:
cbind(A, B) # makes a column-major 2x2-"vector"
rbind(A, B) # an row major 2x2-"vector" which could also be added to an array with `abind`
Run Code Online (Sandbox Code Playgroud)
也可以保留他们的"起源"
AB <- cbind(A=A, B=B)
array(c(AB,AB+10), c(2,2,2) )
, , 1
[,1] [,2]
[1,] 5 7
[2,] 10 13
, , 2
[,1] [,2]
[1,] 15 17
[2,] 20 23
> abind( array(c(AB,AB+10), c(2,2,2) ), AB+20)
, , 1
A B
[1,] 5 7
[2,] 10 13
, , 2
A B
[1,] 15 17
[2,] 20 23
, , 3
A B
[1,] 25 27
[2,] 30 33
Run Code Online (Sandbox Code Playgroud)
您的元组向量c((5,7),(7,13))是无效的语法.但是,你的措辞让我觉得你在考虑类似python的东西zip.你想如何用R代表你的元组?R具有异构(递归)类型list和同质类型vector; 没有标量类型(即只包含单个值的类型),只有长度为1的向量(有点过于简单化).
如果你希望你的元组是矩阵的行(所有类型相同,它们在这里):
rbind(A,B)
Run Code Online (Sandbox Code Playgroud)
如果你想要一个矢量列表
mapply(c, A, B, SIMPLIFY=FALSE)
Run Code Online (Sandbox Code Playgroud)
如果你想列出的名单(这是你需要什么,如果A和B是不是同一类型)
mapply(list, A, B, SIMPLIFY=FALSE)
Run Code Online (Sandbox Code Playgroud)
把这一切放在一起:
> A<-c(5,10)
> B<-c(7,13)
>
> cbind(A,B)
A B
[1,] 5 7
[2,] 10 13
> mapply(c, A, B, SIMPLIFY=FALSE)
[[1]]
[1] 5 7
[[2]]
[1] 10 13
> mapply(list, A, B, SIMPLIFY=FALSE)
[[1]]
[[1]][[1]]
[1] 5
[[1]][[2]]
[1] 7
[[2]]
[[2]][[1]]
[1] 10
[[2]][[2]]
[1] 13
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31122 次 |
| 最近记录: |