【问题标题】:Finding a "between group" sum of squares寻找“组间”平方和
【发布时间】:2019-04-11 12:55:51
【问题描述】:

我有一些看起来像这样的数据:

 October    November   Setting
 1           3.1        1
 1.3         1.2        2
 2.1         .7         1
 .8          .1         2

我想做的是制作一个解决组间平方和的for循环。

基本上我想要的是这个/这里是一些我正在考虑表达我的观点的短代码。它不太好用。

 month.sum = 0
 for i in Setting {
      month.sum <- month.sum + (group.mean(i) + grand.mean)^2
  }

我想基本上找到这个,作为直接翻译:

 (group mean(when the setting=1) + grand mean)^2 + (group mean(when the setting=2) + grand mean)^2

我已经解决了大均值问题,只是在研究我的 for 循环能力。谢谢!

【问题讨论】:

    标签: r for-loop dataframe statistics


    【解决方案1】:

    > df_result
    # A tibble: 8 x 6
    # Groups:   Setting [2]
      Setting Month    Value grand.mean group.mean month.sum
        <int> <chr>    <dbl>      <dbl>      <dbl>     <dbl>
    1       1 October    1         1.29       1.72      9.08
    2       2 October    1.3       1.29       0.85      4.57
    3       1 October    2.1       1.29       1.72     36.3 
    4       2 October    0.8       1.29       0.85     18.3 
    5       1 November   3.1       1.29       1.72     81.7 
    6       2 November   1.2       1.29       0.85     41.1 
    7       1 November   0.7       1.29       1.72    145.  
    8       2 November   0.1       1.29       0.85     73.1 
    

    代码

    df_result <- df %>%
        gather("Month", "Value", -Setting) %>%
        mutate(grand.mean = mean(Value)) %>%
        group_by(Setting) %>%
        mutate(group.mean = mean(Value)) %>%
        mutate(month.sum = cumsum(group.mean + grand.mean)^2)
    

    数据

    df <- read.table(text = "October    November   Setting
    1           3.1        1
    1.3         1.2        2
    2.1         .7         1
    .8          .1         2", header = TRUE)
    

    【讨论】:

      猜你喜欢
      • 2017-03-18
      • 2019-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-26
      • 2013-05-30
      相关资源
      最近更新 更多