关于R数据框是行列是数字不能做相关性,apply之后却可以做相关性分析的问题探讨

1.基本数据格式

2.选取第一行做相关性分析,报错:x不是数字向量

3.直接加1同样是报错

4.通过使用apply将第一行每一列加1,cor.test()就不报错了

5.第一个标题中的数据格式没添加一列字符列是可以跑一下代码的:

final_mrna_exp<-mrna_exp[,comm_sample]
final_mirna_exp<-mirna_exp_subet[,comm_sample]

bb=apply(final_mrna_exp[2:5,1:466],1,function(x)
  {
  apply(final_mirna_exp[2:5,1:466],1,function(y)
    {
    cor_result<-cor.test(x[1:length(x)-1],y[1:length(y)-1])
  })
})

是有结果的:

 加了这两列:

final_mrna_exp$ID<-rownames(final_mrna_exp)
final_mirna_exp$ID<-rownames(final_mirna_exp)
#此时第467列分别是miRNA ID;gene ID,这样也是不报错的
bb=apply(final_mrna_exp[2:4,1:466],1,function(x)
  {
  apply(final_mirna_exp[2:4,1:466],1,function(y)
    {
    print(x[1:length(x)-1])#输出的结果也是数字类型的
    cor_result<-cor.test(x[1:length(x)-1],y[1:length(y)-1])
  })
})

输出的结果:

更改成以下代码就报错了,输出结果是double但不是数字类型的

bb=apply(final_mrna_exp[2:4,1:467],1,function(x)
  {
  apply(final_mirna_exp[2:4,1:467],1,function(y)
    {
    print(x[1:length(x)-1])
    cor_result<-cor.test(x[1:length(x)-1],y[1:length(y)-1])
  })
})

输出结果:

这样做cor.test()就会报错

记录问题,以后遇到就知道不能这样做了(以上原因还未弄清,还有待学习)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值