全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
7263 7
2019-09-27
背景:
一个生物的数据
行:各个基因
第一列和第二列:对照组(两个重复)
第三列到第五列:处理组(三个重复)
用来计算各个基因的p值,我写了一个循环,但是算出来的结果p值是完全一致的

定义数据为dat
for (i in 1:nrow(dat)){
  if(sd(dat[i,1:2]) == 0 & sd(dat[i,3:5]) == 0){
    pvals <- "NA"  ##p值为NA
    }
  else{
    t_test = t.test(as.numeric(dat[i,1:2]), as.numeric(dat[i,3:5]))
    pvals <- t_test$p.value
  }
}


但是,单独运行t.test(as.numeric(dat[i,1:2]), as.numeric(dat[i,3:5]))代码,就能计算出不同的p值

我是哪里写错了啊
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2019-9-29 08:11:27
有没有哪位大神知道代码哪里写错了啊
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-9-29 21:35:08
大肚子鳄鱼 发表于 2019-9-27 20:45
背景:
一个生物的数据
行:各个基因
for (i in 1:nrow(dat)){<br>
  if(sd(dat[i,1:2]) == 0 &amp; sd(dat[i,3:5]) == 0){<br>
    pvals &lt;- \"NA\"  ##p值为NA<br>
    }<br>
  else{<br>
    t_test = t.test(as.numeric(dat[i,1:2]), as.numeric(dat[i,3:5]))<br>
    pvals &lt;- t_test$p.value<br>
    print(pvals)<br>
  }<br>
}<br>
你最后一行的变量在循环中重复赋值,在循环的最后加一个print看看打印出来的结果是否都一样(试试上面的代码)。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-10-1 04:22:25
大肚子鳄鱼 发表于 2019-9-27 20:45
背景:
一个生物的数据
行:各个基因
楼主要不上传一下报错的截图?感觉是判断条件的问题,且应该改成或。还有就是。。。加起来只有五个观测的数据,能用t检验吗?是不是应该改用秩和检验。。(虽然感觉怎么做检验都不对,样本量实在太少了。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-10-16 16:49:28
dbcoffee 发表于 2019-9-29 21:35
for (i in 1:nrow(dat)){
  if(sd(dat) == 0 &amp; sd(dat) == 0){
    pvals &lt;- \"NA\"  ##p值为NA
感谢大神~~~~~~
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-10-16 16:50:39
熬夜头会秃 发表于 2019-10-1 04:22
楼主要不上传一下报错的截图?感觉是判断条件的问题,且应该改成或。还有就是。。。加起来只有五个观测的 ...
没有报错,就是算出来的值全都是一样的,尴尬~~~
看来是赋值的问题
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群