R:anova中每行的p值&;lm()

R:anova中每行的p值&;lm(),r,anova,R,Anova,我试图对每一行进行方差分析,然后提取p值进行绘图。作为参考,我正在尝试改编本文中的代码: 以下是我的片段: > anova.007.mRNA<-x007 %>% + rowwise() %>% + mutate(pval = anova(c(C1,C2,C3,C4,C5,C6), + c(H1,H2,H3,H4,H5,H6))$p.value) %>% + ungroup() 这很奇怪,因为我以为方差分析测试也会以类似的方式应用?也许我需要先创建一个线性模型lm(

我试图对每一行进行方差分析,然后提取p值进行绘图。作为参考,我正在尝试改编本文中的代码:

以下是我的片段:

> anova.007.mRNA<-x007 %>%
+ rowwise() %>%
+ mutate(pval = anova(c(C1,C2,C3,C4,C5,C6),
+ c(H1,H2,H3,H4,H5,H6))$p.value) %>%
+ ungroup()
这很奇怪,因为我以为方差分析测试也会以类似的方式应用?也许我需要先创建一个线性模型lm()?

#示例数据
df=读取。表格(文本=”
C1 C2 C3 C4 C5 C6 H1 H2 H3 H4 H5 H6
8.57345 8.45938 8.68941 8.35913 8.48177 8.44560 8.40986 8.59392 8.46562 8.07999 8.22759 8.41817
8.32595 8.19273 8.10708 8.48156 7.99014 8.24859 8.78216 8.59592 8.48299 8.52647 8.34797 8.38534
“,页眉=T)
图书馆(tidyverse)
df%>%
行()
变异(pval=方差分析(lm(c)(C1,C2,C3,C4,C5,C6,
H1,H2,H3,H4,H5,H6)~c(rep(“c”,6),rep(“H”,6))$`Pr(>F)`[1])%>%
解组()
##tibble:2 x 13
#C1 C2 C3 C4 C5 C6 H1 H2 H3 H4 H5 H6 pval
#                
# 1  8.57  8.46  8.69  8.36  8.48  8.45  8.41  8.59  8.47  8.08  8.23  8.42 0.155 
# 2  8.33  8.19  8.11  8.48  7.99  8.25  8.78  8.60  8.48  8.53  8.35  8.39 0.0109
anova
需要输入一个模型(
lm
)对象,而不是两个向量。您需要通过将所有
C
H
值组合在一起并创建(此处手动)两组作为自变量来创建模型


此外,这里提取p值的方法不像
t.test
中那样简单

我注意到
(rep(“C”)…
在代码片段的第四行-这代表什么?非常感谢-这非常有用!它创建了一个向量,其中C重复6次,然后H重复6次。再次感谢。我还试图得到一个p值的计数,该值低于p=0.01,我尝试了以下方法:
pv007我找到了一个解决方案来获得绘图的计数/计数;H不过,tibble会截断结果,这样您就只能看到前十行了,糟糕!pvals.007.mRNA%%>%+groupby(pval)%%>%+count(pval
Error in mutate_impl(.data, dots) : 
  Evaluation error: no applicable method for 'anova' applied to an object of class "c('double', 'numeric')".
# example data
df = read.table(text = "
C1       C2      C3     C4       C5     C6     H1    H2 H3  H4  H5  H6
8.57345 8.45938 8.68941 8.35913 8.48177 8.44560 8.40986 8.59392 8.46562 8.07999 8.22759 8.41817
8.32595 8.19273 8.10708 8.48156 7.99014 8.24859 8.78216 8.59592 8.48299 8.52647 8.34797 8.38534
", header=T)

library(tidyverse)

df %>%
  rowwise() %>%
  mutate(pval = anova(lm(c(C1,C2,C3,C4,C5,C6,
                           H1,H2,H3,H4,H5,H6) ~ c(rep("C",6),rep("H",6))))$`Pr(>F)`[1]) %>%
  ungroup()

# # A tibble: 2 x 13
#      C1    C2    C3    C4    C5    C6    H1    H2    H3    H4    H5    H6   pval
#   <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>  <dbl>
# 1  8.57  8.46  8.69  8.36  8.48  8.45  8.41  8.59  8.47  8.08  8.23  8.42 0.155 
# 2  8.33  8.19  8.11  8.48  7.99  8.25  8.78  8.60  8.48  8.53  8.35  8.39 0.0109