2016-09-09 4 views
-2

mtcars에서 mtcars$group <- cut(mtcars$mpg,2, labels = c("small", "big"))은 "작은"및 "큰"그룹으로 새 열을 만듭니다.r 그룹 내의 그룹화

mpg에 의해 그룹을 만들 수있는 방법은 없지만 데이터 프레임에 4, 6, 8 또는 임의의 개수의 실린더가있는 자동차 그룹 내에서 "작은"및 "큰"그룹을 만들 수 있습니까?

SAS 9.1은 인수가 by, groupsvar 인 proc 등급 함수로 가능합니다.

+4

당신이 원하는 결과를 어떤 완전히 확실하지 (mtcars, ave (mpg, cyl, FUN = function (x) cut (x, 2)))]'당신을 위해해라. ? – thelatemail

답변

1

이 작업은 그룹 단위로 수행 할 수 있습니다. data.table으로, 하나의 열을 기준으로 그룹화 한 후, 우리는 '그룹'으로 (:=을)를 labels을 지정하고 지정을 2로 breaks로 'MPG'을 cut 'CYL'라고

library(data.table) 
as.data.table(mtcars)[, group := cut(mpg, breaks = 2, labels = c("small", "big")), cyl][]