下面是一个示例,其中一列包含p值,我希望通过创建一个新列将这些值转换为fdr。我想使用的方法是BH (Benjamin Hochberg)校正。
a=c(1,2,3,4,5,6)
p_values=c(0.05,0.06,0.03,0.03,0.07,0.02)
df= data.frame(a, p_values)
df$FDR = paste(p_values)
df= p.adjust(df$FDR, method = "BH" )该代码将删除列的其余部分,并且只使用FDR保留新列。请协助我不确定结果是否正确
发布于 2021-05-19 03:41:39
最后一行应为:
df$FDR <- p.adjust(df$p_values, method = "BH" )因此,您只需更改一列,而不是将data.frame替换为生成的向量。
在执行此操作之前,也不需要将p值复制到FDR列。当您为其赋值时,将自动创建新列。
您的示例的完整版本:
a <- c(1,2,3,4,5,6)
p_values <- c(0.05,0.06,0.03,0.03,0.07,0.02)
df <- data.frame(a, p_values)
df$FDR <- p.adjust(df$p_values, method = "BH")https://stackoverflow.com/questions/67592912
复制相似问题