如何在R中创建一个矩阵作为变量的data.frame?

时间:2017-07-24 15:18:59

标签: r dataframe

我的数据框有第一列因子,所有其他列都是数字。

       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矩阵的计算。

谢谢!

1 个答案:

答案 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