2014-10-29 27 views
0

我正在嘗試使R包中的mvr函數能夠正常工作。當具有看看例子集紗線,我意識到,所有268分NIR列其實視爲一列:將幾個列組合在一起使用

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

我需要的是使用功能與我的數據(這樣一個多元datset被處理作爲一個實體),但我不知道如何實現這一點。我試圖

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

你會發現,雖然所有列具有相同的標題,colnames(TT)表示長度爲三的向量,因爲每列分別對待。我所需要的是紗線中可以找到的,名稱「NIR」只出現一次,並適用1-268列。

有人知道該怎麼做嗎?

回答

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