R中的列向量到矩阵

Cod*_*lus 8 r matrix k-means

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

我目前正在做的是:

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

编辑:最终目标是k-means使用此矩阵执行聚类.我的载体名称实际上并非如此V_1, V_2, ..., V_n.向量的名称是对应于数据来自的文件名的子串(这是1-1映射).最后,我将迭代特定目录中的所有文件,将数据提取到向量中,然后将每个列向量附加到矩阵.

rus*_*rce 8

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

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

V1 <- rnorm(20)
V2 <- rnorm(20)
V3 <- rnorm(20)
mat <- matrix(c(V1,V2),nrow=length(V1))
(mat.app <- cbind(mat,V3))
Run Code Online (Sandbox Code Playgroud)

  • 你可以做`do.call("cbind",lapply(ls(pattern ="V [[:digit:]]"),得到)``自动执行`cbind'向量的最后一步. (4认同)