如何将数据帧读取为矩阵?

how to read a dataframe as a matrix?

我想把csv文件读成矩阵,矩阵是数字。 下面是我的代码

1、读取数据

mydata<-read.csv("mydata.csv", header = TRUE, sep=',', check.names = FALSE)
str(mydata)

2、转换为数值数据

mydata_1<-data.matrix(mydata)
str(mydata_1)

第一步,输出没问题

但是对于第二步,当我想将数据帧转换为数字矩阵时,输出更改为如下。看到行名和列名都变了,单元格的值也不对,这是不想要的。

我也试过下面的语法,但结果和上面一样。

mydata_1<-sapply(mydata, as.numeric)

这里是我的数据文件linklink of mydata

如有任何建议,我们将不胜感激。

这是因为你有多种数据类型(factor, num),而一个矩阵只能存储一种数据类型。我建议您删除第一列以仅包含数字:

mydata_1<-data.matrix(mydata[,-1])