Я хочу рассчитать разницу между средним и значением только для числового столбца.
Мой набор данных выглядит следующим образом:
Player Pos Age Team G GS MPG FG FGA FG% 3P 3PA 3P% 2P 2PA 2P% eFG% FT FTA FT% ORB DRB TRB AST STL BLK
1 Álex Abrines SG 24 OKC 75 8 15.1 1.5 3.9 0.395 1.1 2.9 0.380 0.4 0.9 0.443 0.540 0.5 0.6 0.848 0.3 1.2 1.5 0.4 0.5 0.1
2 Quincy Acy PF 27 BRK 70 8 19.4 1.9 5.2 0.356 1.5 4.2 0.349 0.4 1.0 0.384 0.496 0.7 0.9 0.817 0.6 3.1 3.7 0.8 0.5 0.4
3 Steven Adams C 24 OKC 76 76 32.7 5.9 9.4 0.629 0.0 0.0 0.000 5.9 9.3 0.631 0.629 2.1 3.8 0.559 5.1 4.0 9.0 1.2 1.2 1.0
4 Bam Adebayo C 20 MIA 69 19 19.8 2.5 4.9 0.512 0.0 0.1 0.000 2.5 4.8 0.523 0.512 1.9 2.6 0.721 1.7 3.8 5.5 1.5 0.5 0.6
5 Arron Afflalo SG 32 ORL 53 3 12.9 1.2 3.1 0.401 0.5 1.3 0.386 0.7 1.7 0.413 0.485 0.4 0.5 0.846 0.1 1.2 1.2 0.6 0.1 0.2
6 Cole Aldrich C 29 MIN 21 0 2.3 0.2 0.7 0.333 0.0 0.0 NA 0.2 0.7 0.333 0.333 0.1 0.3 0.333 0.1 0.6 0.7 0.1 0.1 0.0
И я попытался решить эту проблему, используя mutate_if () и mutate_all ():
d_residuals <-
d_season_combined %>%
mutate_if(is.numeric) %>%
mutate_all(~. - mean(., na.rm = TRUE))
Но получилось так:
Player Pos Age Team G GS MPG FG FGA FG% 3P 3PA
1 NA NA -1.994393 NA 26.208411 -14.990654 -4.1758879 -1.6135514 -2.973738 -0.04825306 0.2562617 0.4902804
2 NA NA 1.005607 NA 21.208411 -14.990654 0.1241121 -1.2135514 -1.673738 -0.08725306 0.6562617 1.7902804
3 NA NA -1.994393 NA 27.208411 53.009346 13.4241121 2.7864486 2.526262 0.18574694 -0.8437383 -2.4097196
4 NA NA -5.994393 NA 20.208411 -3.990654 0.5241121 -0.6135514 -1.973738 0.06874694 -0.8437383 -2.3097196
5 NA NA 6.005607 NA 4.208411 -19.990654 -6.3758879 -1.9135514 -3.773738 -0.04225306 -0.3437383 -1.1097196
6 NA NA 3.005607 NA -27.791589 -22.990654 -16.9758879 -2.9135514 -6.173738 -0.11025306 -0.8437383 -2.4097196
Если бы вы могли мне помочь, я был бы очень благодарен!