두 가지 레벨로 데이터를 그룹화 한 후 둘 이상의 레벨이있는 경우 데이터 세트의 열을 인코딩하려고합니다. 간단히 mtcars 데이터를 예제로 사용하고 있습니다. "오류 : 필터 조건이 논리 벡터로 평가되지 않습니다."오류가 계속 나타납니다.Dplyr을 사용하여 그룹 내의 여러 레벨을 인코딩하십시오.
분명히이 구문을 사용할 수 없지만 누구나 더 똑똑한 방법으로이 작업을 수행 할 수 있습니까?
df_levels <- mtcars %>%
group_by(mpg) %>%
filter(nlevels(.$gear) > 1) %>%
mutate(Levels = 1) ##encode with a boolean value indicating more than one level
와 새 DF "df_levels"을 클릭하고 정렬 DF 뷰어에서 MPG로, 당신이 10.4 항목에 대한 열 "수준"= 0를 참조 할 경우에 따라서
df_levels <- df_levels %>%
group_by(mpg) %>%
filter(nlevels(.$gear) < 1) %>%
mutate(Levels = 0)
데이터 그룹화 (gear = 4, gear = 5)에서 기어에 대해 하나 이상의 레벨이 있으므로 30.4 mpg와 연관된 열 "레벨"은 값 = 1을 가질 것입니다 (gear = 3 인 데이터 만 있기 때문에) . mtcars
에서
STR (mtcars의 $ 기어) NUM [1시 32분] 4 4 4 3 3 3 3 4 4 4 ... – Gopala