如何将数据帧读取为矩阵?
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])
我想把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])