Warning message: In dat$id = rownames(dat) : Coercing LHS to a list

赋值时出现warning,检查会发现赋值没有成功
需要检查一下数据类型,如果为matrix则会赋值失败,得到的结果是个list,需要as.data.frame转化为数据框

#有问题的代码
> gene=as.data.frame(gene)
> class(gene)
[1] "data.frame"
> dat=t(gene)
> dat$id=rownames(dat)
Warning message:
In dat$id = rownames(dat) : Coercing LHS to a list
> class(dat)
[1] "list"

#正确的方法
> gene=as.data.frame(gene)
> class(gene)
[1] "data.frame"
> dat=t(gene)
> class(dat)
[1] "matrix" "array" 
> dat=as.data.frame(dat)
> class(dat)
[1] "data.frame"
> dat$id=rownames(dat)

data.frame转置之后会变成matrix,不知道为什么,但就是变了。。。把数据类型转化为data.frame就行啦~~~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容