在dplyr中,我可以将中心放在单个组中,这意味着什么? >库(dplyr) >mtcars%>% +如果需要将行名作为列,请添加_rownames()%>%# +组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别 +变异(百分比=mpg平均值(mpg))%>% +dplyr::选择(分) 添加缺少的分组变量:`cyl` #一个tibble:32x2 #组别:共青团[3] 团分 1 6 0.909 2 6 0.909 3 4 2.71 4 6 1.31 5 8 -1.39 6 6 -1.99 7 8 -5.79 8 4 4.31 9 4 2.71 10 6 -0.891 #…还有22排 警告信息: 已弃用,请改用tibble::rownames_to_column()。 >mtcars$mpg[1:5]-平均值(mtcars$mpg) [1] 0.909375 0.909375 2.709375 1.309375 -1.390625

在dplyr中,我可以将中心放在单个组中,这意味着什么? >库(dplyr) >mtcars%>% +如果需要将行名作为列,请添加_rownames()%>%# +组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别 +变异(百分比=mpg平均值(mpg))%>% +dplyr::选择(分) 添加缺少的分组变量:`cyl` #一个tibble:32x2 #组别:共青团[3] 团分 1 6 0.909 2 6 0.909 3 4 2.71 4 6 1.31 5 8 -1.39 6 6 -1.99 7 8 -5.79 8 4 4.31 9 4 2.71 10 6 -0.891 #…还有22排 警告信息: 已弃用,请改用tibble::rownames_to_column()。 >mtcars$mpg[1:5]-平均值(mtcars$mpg) [1] 0.909375 0.909375 2.709375 1.309375 -1.390625,r,group-by,dplyr,R,Group By,Dplyr,我打算将mpg集中在组水平平均值上(即,不同气缸组的平均值不同),但上述代码集中在全局平均值上 您的代码运行得很好(或者至少它做了您认为它做的事情: > library(dplyr) > mtcars %>% + add_rownames()%>% #if the rownames are needed as a column + group_by(cyl) %>% + mutate(cent= mpg-mean(mpg))%>% + dpl

我打算将mpg集中在组水平平均值上(即,不同气缸组的平均值不同),但上述代码集中在全局平均值上

您的代码运行得很好(或者至少它做了您认为它做的事情:

> library(dplyr)
> mtcars %>%
+   add_rownames()%>% #if the rownames are needed as a column
+   group_by(cyl) %>% 
+   mutate(cent= mpg-mean(mpg))%>%
+   dplyr ::select(cent)
Adding missing grouping variables: `cyl`
# A tibble: 32 x 2
# Groups:   cyl [3]
     cyl   cent
   <dbl>  <dbl>
 1     6  0.909
 2     6  0.909
 3     4  2.71 
 4     6  1.31 
 5     8 -1.39 
 6     6 -1.99 
 7     8 -5.79 
 8     4  4.31 
 9     4  2.71 
10     6 -0.891
# … with 22 more rows
Warning message:
Deprecated, use tibble::rownames_to_column() instead. 
> mtcars$mpg[1:5]-mean(mtcars$mpg)
[1]  0.909375  0.909375  2.709375  1.309375 -1.390625
返回:

library(dplyr)
mtcars %>%
  group_by(cyl) %>% 
    mutate(Mean= mean(mpg))%>%
    dplyr ::select(Mean)
cyl平均值
1     6  19.7
2     6  19.7
3     4  26.7
4     6  19.7
5     8  15.1
6     6  19.7
7     8  15.1
8     4  26.7
9     4  26.7
10     6  19.7
>mtcars%>%
+如果需要将行名作为列,请添加_rownames()%>%#
+组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别
+变异(分=mpg平均值(mpg),
+平均值=平均值(mpg))%>%
+dplyr::选择(mpg、平均值、分)
添加缺少的分组变量:`cyl`
#一个tibble:32x4
#组别:共青团[3]
平均分
1     6  21    20.1  0.909
2     6  21    20.1  0.909
3     4  22.8  20.1  2.71 
4     6  21.4  20.1  1.31 
5     8  18.7  20.1 -1.39 
6     6  18.1  20.1 -1.99 
7     8  14.3  20.1 -5.79 
8     4  24.4  20.1  4.31 
9     4  22.8  20.1  2.71 
10     6  19.2  20.1 -0.891

奇怪的是,当我添加dplyr::prefix时,一切都很顺利

> mtcars %>%
+   add_rownames()%>% #if the rownames are needed as a column
+   group_by(cyl) %>% 
+   mutate(cent= mpg-mean(mpg),
+          mean= mean(mpg))%>%
+   dplyr ::select(mpg,mean,cent)
Adding missing grouping variables: `cyl`
# A tibble: 32 x 4
# Groups:   cyl [3]
     cyl   mpg  mean   cent
   <dbl> <dbl> <dbl>  <dbl>
 1     6  21    20.1  0.909
 2     6  21    20.1  0.909
 3     4  22.8  20.1  2.71 
 4     6  21.4  20.1  1.31 
 5     8  18.7  20.1 -1.39 
 6     6  18.1  20.1 -1.99 
 7     8  14.3  20.1 -5.79 
 8     4  24.4  20.1  4.31 
 9     4  22.8  20.1  2.71 
10     6  19.2  20.1 -0.891
>mtcars%>%
+dplyr::分组人(气缸)%>%
+dplyr::突变(平均值=平均值(mpg))%>%
+dplyr::选择(mpg,平均值)
添加缺少的分组变量:`cyl`
#一个tibble:32x3
#组别:共青团[3]
平均每加仑
1     6  21    19.7
2     6  21    19.7
3     4  22.8  26.7
4     6  21.4  19.7
5     8  18.7  15.1
6     6  18.1  19.7
7     8  14.3  15.1
8     4  24.4  26.7
9     4  22.8  26.7
10     6  19.2  19.7
#…还有22排
>mtcars%>%
+组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别组别
+变异(平均值=平均值(mpg))%>%
+dplyr::选择(mpg,平均值)
添加缺少的分组变量:`cyl`
#一个tibble:32x3
#组别:共青团[3]
平均每加仑
*   
1     6  21    20.1
2     6  21    20.1
3     4  22.8  20.1
4     6  21.4  20.1
5     8  18.7  20.1
6     6  18.1  20.1
7     8  14.3  20.1
8     4  24.4  20.1
9     4  22.8  20.1
10     6  19.2  20.1
#…还有22排

使用
比例如何

> mtcars %>%
+   dplyr::group_by(cyl) %>% 
+   dplyr::mutate(mean= mean(mpg))%>%
+   dplyr::select(mpg,mean)
Adding missing grouping variables: `cyl`
# A tibble: 32 x 3
# Groups:   cyl [3]
     cyl   mpg  mean
   <dbl> <dbl> <dbl>
 1     6  21    19.7
 2     6  21    19.7
 3     4  22.8  26.7
 4     6  21.4  19.7
 5     8  18.7  15.1
 6     6  18.1  19.7
 7     8  14.3  15.1
 8     4  24.4  26.7
 9     4  22.8  26.7
10     6  19.2  19.7
# … with 22 more rows
> mtcars %>%
+   group_by(cyl) %>% 
+   mutate(mean= mean(mpg))%>%
+   dplyr::select(mpg,mean)
Adding missing grouping variables: `cyl`
# A tibble: 32 x 3
# Groups:   cyl [3]
     cyl   mpg  mean
 * <dbl> <dbl> <dbl>
 1     6  21    20.1
 2     6  21    20.1
 3     4  22.8  20.1
 4     6  21.4  20.1
 5     8  18.7  20.1
 6     6  18.1  20.1
 7     8  14.3  20.1
 8     4  24.4  20.1
 9     4  22.8  20.1
10     6  19.2  20.1
# … with 22 more rows
确保指定
scale=F
,否则它将被标准化。这将提供:

mtcars %>% 
    group_by(cyl) %>% 
    mutate(cent = scale(mpg, scale = F)) %>% 
    mutate(mean = mean(mpg)) %>% 
    select(cyl, cent, mean) 
#一个tible:32 x 3
#组别:共青团[3]
圆分平均值
1     6  1.26   19.7
2     6  1.26   19.7
3     4 -3.86   26.7
4     6  1.66   19.7
5     8  3.6    15.1
6     6 -1.64   19.7
7     8 -0.800  15.1
8     4 -2.26   26.7
9     4 -3.86   26.7
10     6 -0.543  19.7
#…还有22排
mtcars %>% 
    group_by(cyl) %>% 
    mutate(cent = scale(mpg, scale = F)) %>% 
    mutate(mean = mean(mpg)) %>% 
    select(cyl, cent, mean) 
# A tibble: 32 x 3
# Groups:   cyl [3]
     cyl   cent  mean
   <dbl>  <dbl> <dbl>
 1     6  1.26   19.7
 2     6  1.26   19.7
 3     4 -3.86   26.7
 4     6  1.66   19.7
 5     8  3.6    15.1
 6     6 -1.64   19.7
 7     8 -0.800  15.1
 8     4 -2.26   26.7
 9     4 -3.86   26.7
10     6 -0.543  19.7
# ... with 22 more rows