2017-07-24 90 views
1

我的數據框有第一列因子,其他所有列都是數字。如何使用矩陣作爲R中的變量創建data.frame?

 Origin spectrum_740.0 spectrum_741.0 spectrum_742.0 etc.... 
1  Warthog  0.6516295  0.6520196  0.6523843 
2  Tiger  0.4184067  0.4183569  0.4183805 
3 Sperm whale  0.9028763  0.9031688  0.9034069 

我想數據幀轉換爲兩個變量,一個矢量(第一列)和一個矩陣(所有數值列),這樣我可以做在矩陣計算,例如施加msc來自pls包。基本上,我希望數據框像來自plsgasoline數據集,它有一個變量作爲數值向量,第二個變量稱爲NIR作爲具有401列的矩陣。

或者,如果您有任何建議將計算應用於數字數據,同時保持Origin列連接,那也可以工作,但是我所看到的所有例子都使用gasoline或類似格式的數據框來進行計算近紅外矩陣。

謝謝!

+1

打開「籍貫」一欄的數字矩陣的rownames –

+0

的可能的複製[右辦法data.frame轉換爲數值矩陣,當DF還包含字符串?](https://stackoverflow.com /問題/ 16518428 /右通到轉換數據幀到一個數字矩陣時-DF-還-包含-〜應變) – Ale

回答

0
M = as.matrix(df[,-1]) 
row.names(M) = df[,1] 
M 
      spectrum_740.0 spectrum_741.0 spectrum_742.0 
Warthog   0.6516295  0.6520196  0.6523843 
Tiger   0.4184067  0.4183569  0.4183805 
Sperm_whale  0.9028763  0.9031688  0.9034069