将相同名称的多个列组合在一起

时间:2014-10-29 18:18:54

标签: r

我试图让R-package中的mvr函数运行起来。在查看示例数据集纱线时,我意识到所有268个NIR列实际上都被视为一列:

 library(pls)
 data(yarn)
 head(yarn)
 colnames(yarn)

我需要将该函数与我的数据一起使用(以便将多变量数据集视为一个实体),但我不知道如何实现。我试过了

 TT<-matrix(NA, 2, 3)
 colnames(TT)<-rep("NIR", ncol(TT))
 TT
 colnames(TT)

您会注意到,虽然所有列都具有相同的标题,但是colnames(TT)显示长度为3的向量,因为每个列都是单独处理的。我需要的是纱线中可以找到的东西,即“NIR”这个名字只出现一次并且同样适用于1-268列。

有人知道怎么做吗?

1 个答案:

答案 0 :(得分:1)

您只需将矩阵指定给data.frame

的列即可
TT <- matrix(1:6, 2, 3 )

# assign to an existing dataframe
out <- data.frame(desnity = 1:nrow(TT))
out$NIR <- TT
str(out)

# assign to empty dataframe
out <- data.frame(matrix(integer(0), nrow=nrow(TT))) ; 
out$NIR <- TT