R语言报错及解决方法

Python018

R语言报错及解决方法,第1张

eg:

data = read.xlsx(“C:\Users\vv\Desktop\test.xlsx”)

Error in make.names(vnames, unique = TRUE) : invalid multibyte string 3

只要在最后加上encoding = "UTF-8"就行了

data = read.xlsx(“C:\Users\vv\Desktop\test.xlsx”,encoding = “UTF-8”)

不能用as.numeric,因为变成向量了,不再是矩阵!!!!!

可以用as.numeric

假设你的矩阵是a

b=matrix(as.numeric(a),nrow=nrow(a))

读入数据的时候遇到行名有重复而报错的情况,如下图

mydata<-read.table("data_RNA_Seq_v2_mRNA_median_ Zscores.txt", header = T, row.names=1, check.names = F)

报错:Error in read.table("data_RNA_Seq_v2_mRNA_median _Zscores.txt", header = T,  :   'row.names'里不能有重复的名字

此时可以使用base包中的make.names()函数

使用方法:

1.先不设置行名将数据读进去

mydata<-read.table("data_RNA_Seq_v2_mRNA_median_ Zscores.txt", header = T, check.names = F)

2.使用make.names函数将第一列作为行名

row.names(mydata<-make.names(mydata[,1],TRUE)

关于make.names函数的使用方法可以通过?make.names获得

3. 删除第一列

mydata<-mydata[,-1]

4.查看数据前五行前五列看是否行名修改完成

mydata[1:5,1:5]

1、使用R语言(RStudio)运行read.csv()读取数据,发现代码运行出错,如图所示。

2、输入View(x)却发现数据的左上角第一个数字出错有乱码,这才导致 NA not permitted in predictors 。

3、可以使用matlab迂回的办法解决,首先在matlab中新建一个空矩阵,将数据复制到(读取到)此矩阵中,如图所示。

4、然后,使用csvwrite('实验数据2.csv',A)将此数据再次输出(注意路径),如图所示。

5、接着再次读入R语言中,如图所示,展开数据,数据报错问题就解决了。