[R] summarise에서 .groups의 인자 역할 - You can override using the `.groups` argument.

 


다음의 2개의 코드 블럭 차이를 보면 된다. R 스크립트에서 group_by()를 하다보면 다음의 에러를 자주 마주친다
"You can override using the `.groups` argument."
결과적으로는 group_by()의 상태를 summarize이후에 유지를 할 것인지, 삭제할 것인지에 옵션이다.

mtcars %>% 
    group_by(cyl, am) %>% 
    summarise(avg_mpg = mean(mpg))
 
`summarise()` has grouped output by 'cyl'. You can override using the `.groups` argument.
# A tibble: 6 × 3
# Groups:   cyl [3]
    cyl    am avg_mpg
  <dbl> <dbl>   <dbl>
1     4     0    22.9
2     4     1    28.1
3     6     0    19.1
4     6     1    20.6
5     8     0    15.0
6     8     1    15.4

summarise이후에 또 다른 summarise을 할 경우에 잘 발생한다. cyl과 am의 상태가 계속 유지가 되고 있다. 아래의 샘플은 첫번째 summarise()에서 .groups에 drop_last를 사용하였다. 이 옵션은 마지막 group 변수인 "am"만을 삭제한다. 그리고 두 번째 summarise()를 한 결과 cyl로만 묶어서 최소값을 찾은 결과이다.
mtcars %>% 
    group_by(cyl, am) %>% 
    summarise(avg_mpg = mean(mpg), .groups = "drop_last") %>% 
    summarise(min_avg_mpg = min(avg_mpg))
 
# A tibble: 3 × 2
    cyl min_avg_mpg
  <dbl>       <dbl>
1     4        22.9
2     6        19.1
3     8        15.0

[Rust] Ownership, Scope, Transfer Ownership 과 Borrowing

Scope, Ownership, Transfer Rust에서 사용하는 영역, 소유, 소유권 이전, 복사, 빌림을 요약해 보는 것이 목적이다. 소유(Ownership)은 Java, Go와 같은 백그라운드에서 실행하는 garbage collector가 없...