R语言fuzzySim包FDR函数运行官方示例报错该如何解决?
报错核心原因
fuzzySim包的FDR()函数的pvalues参数要求输入仅包含p值的数值型向量,你传入了包含var和pval两列的完整数据框df,导致函数内部计算缺失值数量的na.loss变量返回空值,触发条件判断报错。
修正方案
基础运行版代码
直接提取数据框中的p值列传入函数即可正常运行:
library(fuzzySim) df <- data.frame(var = letters[1:5], pval = c(0.02, 0.004, 0.07, 0.03, 0.05)) p_value_info <- FDR(pvalues = df$pval, correction = "fdr", q = 0.05, verbose = FALSE, simplif = TRUE)
结果匹配回原数据
如果需要将校正结果和原变量对应,可以把输出的校正p值、显著性判断合并回原数据框:
df$adjusted_p <- p_value_info$adjusted.p df$is_sig_q0.05 <- p_value_info$significant
运行后查看df就能看到每个变量对应的原始p值、校正后p值、以及q值为0.05阈值下的显著性判断结果。
内容的提问来源于stack exchange,提问作者beanboy
相关产品推荐
相关产品推荐

