将一行的一个值与同一列的所有行的平均值进行比较

时间:2019-10-04 16:03:31

标签: r

我有一个大型数据集,我想设计个人选择一个人进行比较,然后查看他们的数据与所有其他人的平均值进行比较的能力。我试图找到最有效的方法,并希望有一些想法。

我尝试创建两个单独的数据框,然后使用列表将行手动添加在一起,以便可以在ggplot中对其进行图形绘制。但是,额外的操作还包括使数据变异。

interface PrettyGirl<TFavouriteFlower extends Flower> {
    void takeGift(TFavouriteFlower flower);
}

class AnyFlowerLover implements PrettyGirl<Flower> {
    @Override
    public void takeGift(Flower flower) {
        System.out.println("I like all flowers!");
    }

}

预期输出如下

PrettyGirl<? super Rose> girlfriend = new AnyFlowerLover();
girlfriend.takeGift(new Rose());

1 个答案:

答案 0 :(得分:1)

有了我们得到的输出,可以将其更改为

library(dplyr)
mtcars %>%
      summarise(car = "All cars", disp = mean(disp)) %>% 
      bind_rows(df, .)
# A tibble: 2 x 2
#  car         disp
#   <chr>      <dbl>
#1 Datsun 710  108 
#2 All cars    231.

也可以使用add_row完成。使用感兴趣的列rownames_to_columnselect创建行名列,并根据'car'的值添加包含add_rowfilter的行

library(tibble)
mtcars %>%
   rownames_to_column('car') %>% 
   select(car, disp) %>% 
   add_row(car = "All cars", disp = mean(.$disp)) %>%
   filter(car %in% c('Datsun 710', 'All cars'))
#         car     disp
#1 Datsun 710 108.0000
#2   All cars 230.7219