问题来源
今天合并两个表达矩阵的时候,使用impute包对矩阵补充缺失值的时候出现了这样的报错
datExpr <- read.csv("gene_exp.csv",row.names = 1)
datExpr <- as.data.frame(datExpr)
library(impute)
#KNN法计算缺失值
imputed_gene_exp = impute.knn(datExpr,k=10,rowmax = 0.5,
colmax=0.8,maxp =3000, rng.seed=362436069)
datExpr2 = imputed_gene_exp$data
Error in storage.mode(x) <- "double" :
(list) object cannot be coerced to type 'double'
解决思路
这时候其实就是把错误往谷歌里贴一下,看几个答案也就解决了,没注意代码里我是对读入的矩阵进行了数据框的操作(as.data.frame),所以读入进来的并不是矩阵(as.matrix),而是数据框,重新
datExpr <- read.csv("gene_exp.csv",row.names = 1)
datExpr <- as.matrix(datExpr)
library(impute)
#KNN法计算缺失值
imputed_gene_exp = impute.knn(datExpr,k=10,rowmax = 0.5,
colmax=0.8,maxp =3000, rng.seed=362436069)
datExpr2 = imputed_gene_exp$data
这时候就没再报错了,哎,GEO跟TCGA数据挖掘的时候其实很多时候是数据源头出错了,所以,恶补一波基础很重要呀!
我是小琪,一枚有点小理想的小医生,咱们明天见!
作者:解琪琪
链接:https://www.jianshu.com/u/bcb81276c29d
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
网友评论