2022-03-10 Warning messages: 1: In apply(data, 2, as.numeric) : NAs introduced by coercion解决方法

> data<-as.numeric(as.matrix(data))
Warning message:
NAs introduced by coercion 

用了各种方法都没能把矩阵转换成数值型的解决方案。

.png

一开始数据内容里有科学计数法的“e”,用options(scipen = 200)设置默认不用科学计数法。
然后通过

# 去除name列里面的引号
data= gsub('["]', '', data)
# 去除name列里面的逗号
data= gsub('[,]', '', data)

去除可能有的非数值内容,以上均无效
发现转完后的data是这样的:



一开始是这样的:



于是想到是行名和列名的问题。将第一行和第一列作为行名和列名,再将其删除
data<-data[c(-2,-3,-6,-7,-8,-9,-10)]
rownames(data)<-data[,1]
colnames(data)<-data[1,]
data<-data[,-1]
data<-data[-1,]

转换完是这样的


如果直接data<-apply(data,2,as.numeric)会丢失行名,
使用data<-apply(data, c(1,2),as.numeric)就不会丢失。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容