나는 보통 model.matrix()
을 사용하여 이런 종류의 작업을 수행합니다. 이 옵션을 사용하여 na.action을 전달하면 올바른 위치에 NA가 유지됩니다. 이 옵션은 함수 dummy()
의 동작을 변경하지 않으므로 model.matrix()
을 사용하는 것이 가장 쉬운 방법 일 수 있습니다. 예를 들어, 하나의 요인 문자에 대한 다음과 같은 트릭을 수행해야합니다
이
letters <- c("a", "a", "b", "c", "d", "e", "f", "g", "h", "b", "b", NA)
betters <- c("a", "a", "c", "c", "c", "d", "d", "d", NA, "e", "e", "e")
model.matrix(~letters+betters-1)
중요한 트릭은 여기 정말 설정하는 것입니다 :
options(na.action="na.pass")
letters <- c("a", "a", "b", "c", "d", "e", "f", "g", "h", "b", "b", NA)
model.matrix(~letters-1)
또는 여러 변수 나뿐만 아니라 데이터 프레임의 열에 대한
옵션 na.action. 이 더미 레코딩 후에는 옵션을 기본값으로 되돌려 놓는 것이 좋습니다.
options(na.action="na.omit")