需要真/假的地方缺少值 -> 把 is.na() 放在哪里?

  • 本文关键字:na is 在哪里 方缺少 r
  • 更新时间 :
  • 英文 :


我是一个非常新手的R用户,我正在尝试运行一些代码,但我遇到了这个错误。

我得到了这个代码来控制错误发现率,首先使用Benjamini Hochberg方法,该方法对我的其他数据很有效:

BH1995<-function(pvals, alpha=0.05)
{
#
# Benjamini and Hochberg (1995) step-up procedure to control FDR
# pvals: sequence of all p-values
# alpha: nominal level, defaults to 0.05
#
M<-length(pvals)
a<-alpha*(1:M)/M
ord<-order(pvals)
psmall<- pvals[ord]<=a
if (sum(psmall)==0) reject<-NULL else {
mreject<-max((1:M)[psmall])
reject<-ord[1:mreject]
is.na(pvals)
}
reject
}

但当我尝试使用我的新数据(pvals(时:

BH1995mass<-length(BH1995(pvals,alpha=0.1))
BH1995mass

我得到了这个确切的错误:

如果(sum(psmall(==0(拒绝<-NULL其他{:缺少值,其中TRUE/FALSE需要

根据我在网上找到的,我认为我需要的是.na(pvals(语句?但由于我没有写这个代码(我也不完全理解R(,我不知道该把它放在哪里。谢谢你提前提供的帮助!!

M <- length(pvals)之前插入pvals <- pvals[!is.na(pvals)]如何?

最新更新