【发布时间】:2013-01-31 11:19:32
【问题描述】:
我有一组向量V_1, V_2, ..., V_n,我想将其转换为矩阵。每个向量都成为矩阵中的一个列向量。每个向量的大小是相同的。有一个简单的功能可以做到这一点吗?在The R Book 的矩阵部分中,该函数似乎不存在。
我目前正在做的是:
mat=matrix(c(V1, V2, ..., VN), nrow=length(V1))
- 是否有某种矩阵追加函数可以将列追加到矩阵的末尾?
编辑: 最终目标是使用此矩阵执行k-means 聚类。我的向量名称实际上不是V_1, V_2, ..., V_n。向量的名称是对应于数据来源的文件名的子字符串(这是一个 1-1 映射)。最终,我将遍历特定目录中的所有文件,将数据提取到一个向量中,然后将每个列向量附加到一个矩阵中。
【问题讨论】:
-
您的向量的命名方式是否有押韵或原因,它们是字面上的 V1 ... VN 吗?这里的另一种解决方案是 cbind,但您仍然必须为每个向量命名。
-
我的向量没有命名为 $V_1,\ldots,V_n$ 但是,我的向量的名称有些押韵或原因,因为它们将是数据来的文件名的子字符串来自。
-
仅供参考,您的数据结构和所需结构非常简单且易于描述,无需了解统计信息。所以,你的问题最好在 * 上提出。现在你不需要做任何事情。如果有足够多的其他社区成员同意我的评估,它将被迁移。
-
我更喜欢您的原始方法,而不是一些更复杂的方法。但是你可以做不同的一件小事:你可以使用 ncol=N 代替 nrow=length(V1),其中 N 是向量的数量。