【问题标题】:extract multiple values based on other column [duplicate]根据其他列提取多个值[重复]
【发布时间】:2022-01-17 04:15:51
【问题描述】:

我在 r 中有这些数据,我需要用它来制作方差分析。

我的问题是,我只需要 Faktor 0 和 2 中的数据,而不需要 1。 我可以通过以下方式访问:

FSQ$total_Sum[FSQ$Faktor=="0"]

但我不知道如何仅使用 Faktor 0,2 创建方差分析。 这是我当前的方差分析代码:

anova_FSQ_Vor_Nach <- aov(FSQ$Faktor ~FSQ$total_Sum[FSQ$Faktor=="0"])

感谢您的帮助。

【问题讨论】:

    标签: r anova


    【解决方案1】:

    我们可以为此使用subset

    # option 1
    aov(Faktor ~ total_Sum, data = subset(FSQ, Faktor %in% c(0,2)))
    
    # option 2
    with(subset(FSQ, Faktor %in% c(0,2)), aov(Faktor ~ total_Sum))
    

    输出

    Call:
       aov(formula = Faktor ~ total_Sum)
    
    Terms:
                    total_Sum Residuals
    Sum of Squares          0         8
    Deg. of Freedom         1         6
    
    Residual standard error: 1.154701
    Estimated effects may be unbalanced
    

    数据

    FSQ <- data.frame(
      Faktor = rep(c(0,1,2), 4L),
      total_Sum = c(4,23,4,0,0,0,3,3,7,4,0,0)
    )
    

    【讨论】:

    • 谢谢,效果很好。整天为此苦苦挣扎!
    【解决方案2】:

    您可以创建一个仅包含 Faktor 等于 0 或 2 的行的新数据框:

    newFSQ <- FSQ[Faktor == 0 | Faktor == 2,] 
    
    aov(newFSQ$Faktor ~ newFSQ$total_Sum)
    

    【讨论】:

    • 谢谢,我也想过这个,但不知道怎么做,但现在我知道了。
    • 试过你的答案,也许我错过了一个库,但需要通过 FSQ 访问 Faktor -> FSQ[FSQ$Faktor == 0 | FSQ$Faktor == 2,]
    猜你喜欢
    • 1970-01-01
    • 2021-12-20
    • 2020-12-28
    • 1970-01-01
    • 2021-09-27
    • 2022-11-11
    • 1970-01-01
    • 1970-01-01
    • 2019-08-17
    相关资源
    最近更新 更多