我的数据框有第一列因子,所有其他列都是数字。
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
包。基本上,我希望数据框类似于gasoline
的{{1}}数据集,其中一个变量作为数字向量,第二个变量称为NIR,作为具有401列的矩阵。
或者,如果您有任何关于在保持Origin列连接的同时对数值数据应用计算的建议,那也可以,但我见过的所有示例都使用pls
或类似格式的数据框来执行NIR矩阵的计算。
谢谢!
答案 0 :(得分: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