【发布时间】:2013-08-23 21:29:04
【问题描述】:
我想将不同长度的向量绑定在一起。我查找了this 线程,但不清楚如何使用 append 或 cbind 制作矩阵/列表。
例如, 让我们取 2 个不同长度的随机向量:
> b<-sample(10,5)
> d<-sample(10,10)
现在对它们操作 cbind 将尽可能重复较小的向量,
> cbind(b,d)
b d
[1,] 3 7
[2,] 5 4
[3,] 10 3
[4,] 4 2
[5,] 6 5
[6,] 3 8
[7,] 5 6
[8,] 10 10
[9,] 4 9
[10,] 6 1
如果我尝试追加,
> append(b,d)
[1] 3 5 10 4 6 7 4 3 2 5 8 6 10 9 1
它将两个向量都附加到 1 中。更长的解决方案是将向量长度保存在不同的向量中,并使用长度向量从这个合并的向量中循环提取向量。但是有没有更好的方法呢?因为我想把这个更大的矩阵/列表放到一个函数中,如果我不使用这种基于长度向量的方法会变得更容易。
【问题讨论】:
-
你想要的输出是什么?
-
包含可变长度向量的矩阵或列表,我将其加入循环中。
-
您不能在 R 中创建锯齿状矩阵。您必须为缺失的单元格赋予一些价值。您可以创建一个向量列表。
some.list <- list(b = b, d = d)然后使用列表循环/应用来进行计算。你对所需的矩阵/列表做了什么? -
我想要做的是将此矩阵/列表提供给箱线图,其中每列都用于搜索中位数、分位数等。