如何通过因子计算变量?

问题描述 投票:-1回答:1

我有这个数据集,我需要按组,性别,组和性别来计算这些变量的总和,范围,平均值,方差等。我试图找到一种解决方案,但仅找到factor()函数来执行此操作,但是找不到该函数的任何有用用法,就像我想使用的那样。您可以帮助我如何使用此功能吗?或者您可以告诉我是否还有其他方法可以通过因素来计算此变量。已经谢谢你了。

IdNo    Group   Gender  Var1    Var2    Var3    Var4    Var5    Var6    Var7    Var8

1     Group3    Male    3.77    22.11   67.21   79.58   78.27   76.47   89.59   15.51

2     Group2    Female  3.76    19.88   61.1    71.23   70.83   76.13   88.71   15.52

3     Group1    Female  3.96    22.36   59.89   71.44   71.52   73.62   88.33   15.61

4     Group2    Female  3.92    19.04   61.00   70.36   72.31   72.09   87.51   15.57

5     Group2    Female  4.13    22.97   60.89   69.12   70.59   69.06   88.76   16.58

6     Group1    Female  3.64    18.45   57.87   67.29   66.96   67.41   86.54   14.33

7     Group3    Female  4.36    22.45   62.42   74.30   73.10   73.91   89.07   17.26

8     Group1    Female  3.99    18.39   60.64   70.71   71.56   71.26   88.85   14.83

9     Group1    Male    3.93    19.59   57.74   65.62   65.89   68.42   88.55   16.57

10    Group3    Male    3.89    21.49   63.99   73.61   74.28   73.19   86.95   14.64
r function statistics computer-science
1个回答
0
投票

我们可以使用创建列列表来将此功能应用于vars

vars <- list('Group', 'Gender', c('Group', 'Gender'))

使用map / lapply遍历它们,使用group_by_at接受group_by中的字符串输入,并使用summarise_at将多个功能应用于多个列。

library(dplyr)
result <- purrr::map(vars, ~ df %>% group_by_at(.x) %>% 
                summarise_at(vars(starts_with('Var')), list(mean, sd, var)))
© www.soinside.com 2019 - 2024. All rights reserved.