在下面的代码中,我对 Pop
列进行 group_by() 操作。如何修改代码以便不使用 Pop
而是使用数据集的第一列 group_by()
library(janitor)
library(dplyr)
Pop<-c("p","p","p","p","p","p","p","p")
RC<-c("a","b","c","c","d","d","f","f")
MM<-c(10,9,8,27,9,10,23,42)
UT<-c(5,3,6,14,7,9,45,61)
df<-data.frame(Pop,RC,MM,UT)
tor <- df %>% group_by(Pop) %>% group_modify(~ .x %>% adorn_totals()) %>% ungroup
tor <- df %>% group_by(df[,1]) %>% group_modify(~ .x %>% adorn_totals()) %>% ungroup
最佳答案
您可能希望在 group_by
中使用 across
:
library(dplyr)
df |>
group_by(across(1))
输出:
# A tibble: 8 × 4
# Groups: Pop [1]
Pop RC MM UT
<chr> <chr> <dbl> <dbl>
1 p a 10 5
2 p b 9 3
3 p c 8 6
4 p c 27 14
5 p d 9 7
6 p d 10 9
7 p f 23 45
8 p f 42 61
关于r - 按位置分组,而不是按数据框中列的名称分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73334405/