R中的列向量到矩阵

时间:2013-02-15 04:33:41

标签: r matrix k-means

我有一组向量V_1, V_2, ..., V_n,我想将其转换为矩阵。每个向量成为矩阵中的列向量。每个向量的大小是相同的。有这么简单的功能吗?在The R Book的矩阵部分中,似乎不存在此函数。

我目前正在做的是:

mat=matrix(c(V1, V2, ..., VN), nrow=length(V1))
  1. 是否有某种矩阵附加函数将列附加到矩阵的末尾?
  2. 编辑:最终目标是使用此矩阵执行k-means群集。我的矢量名称实际上不是V_1, V_2, ..., V_n。向量的名称是对应于数据来自的文件名的子串(这是1-1映射)。最后,我将迭代特定目录中的所有文件,将数据提取到一个向量中,然后将每个列向量附加到矩阵。

1 个答案:

答案 0 :(得分:8)

可以为您效劳的命令是: sapply(ls(pattern="V[[:digit:]]"),get) 模式中的参数是一个正则表达式,匹配您想要的向量(并且只有您想要的向量)。或者,假设向量是从某些文件名的子串中命名的,我假设您可以创建一个带有每个向量名称作为元素的字符向量。如果是这样,您可以用该向量替换ls命令。

编辑:按列添加的矩阵将是cbind(列绑定)。例如:

V1 <- rnorm(20)
V2 <- rnorm(20)
V3 <- rnorm(20)
mat <- matrix(c(V1,V2),nrow=length(V1))
(mat.app <- cbind(mat,V3))