【发布时间】:2016-04-19 00:19:55
【问题描述】:
我想将 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)
这是我的数据文件link of mydata的链接
欢迎提出任何建议。
【问题讨论】:
-
我的猜测(我不会下载你的数据。你应该在没有外部数据链接的情况下提出问题reproducible)是你的数据是开始的因素。
-
你试过
read.csv(...,na.strings = "--")吗? -
您也可以在
read.csv()调用中尝试row.names = 1,将第一列设置为行名。附带说明:header = TRUE和sep = ","是read.csv()中的默认值。你不需要写它们。 -
谢谢@Marat Talipov。结合你和理查德的建议,它非常有效!非常感谢!
-
谢谢@RichardScriven,它通过添加'row.names = 1'和'na.strings =“--”'来工作。非常感谢您的帮助!