2014-02-19 3 views
0

인형 패키지에서 R dummy.data.frame 함수를 사용하여 내 요인의 k 수준에 대한 더미 변수를 만듭니다. 불행히도, 나의 요인은 NA가 있습니다. dummy.data.frame을 사용할 때 NAs가없는 k 개의 더미와 누락 된 값으로 플래그하는 새 더미를 만듭니다. 그러나 아직 k 개의 더미에 NA가 있고 누락 된 값의 더미는 갖고 싶지 않습니다.인형 패키지의 NAs

해당 기능으로 가능합니까? 나를 도울 수있는 다른 기능을 알고 있습니까?

답변

3

나는 보통 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")