9

我有一组V_1, V_2, ..., V_n要转换为矩阵的向量。每个向量都成为矩阵中的一个列向量。每个向量的大小是相同的。有一个简单的功能可以做到这一点吗?在它的矩阵部分中The R Book似乎不存在此功能。

我目前正在做的是:

mat=matrix(c(V1, V2, ..., VN), nrow=length(V1))
  1. 是否有某种矩阵附加函数可以将列附加到矩阵的末尾?

编辑:最终目标是k-means用这个矩阵进行聚类。我的向量的名称实际上不是V_1, V_2, ..., V_n. 向量的名称是对应于数据来源的文件名的子字符串(这是一个 1-1 映射)。最终,我将遍历特定目录中的所有文件,将数据提取到一个向量中,然后将每个列向量附加到一个矩阵中。

4

1 回答 1

9

一个可以为你工作的命令是: 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))
于 2013-02-15T04:57:38.307 回答