2016-06-15 3 views
2

여러 개의 변수 집합에 대한 가중치 순위를 대략적으로 계산하기 위해 현재 R 내에서 anesrake 함수 (샘플 특성 집합을 기반으로 채우기 특성 집합에 가중치를 부여하는 anesrake 패키지 https://cran.r-project.org/web/packages/anesrake/index.html의 일부)를 실행하려고합니다.여러 대상 변수를 실행할 때 Anesrake 실행 오류가 발생했습니다.

내가 샘플 데이터 testdata로의 테이블이 있습니다

Index GENDER AGE  
1  Female 18-24 
2  Female 35-64 
3  Male  65+  

주 : 연령 범위가 6 levels- 18-24,25-34,35-44,45-54,55-64,65 +

그때 내 인구 데이터를이 개리스트의 집합이 있습니다

GENDER <- c(.49,.51) 
AGE <- c(.08,.1,.12,.2,.2,.3) 
나는 다음 목표 변수 세트 원래 테이블에 CASEID 열 생성

:

,691을
targets <- list(GENDER, AGE) 
names(targets) <- c("GENDER", "AGE") 
testData$CASEID <- 1:length(testData$GENDER) 

나는 결국 내 샘플 데이터를 대 내 인구 데이터의 차이를 볼 수 있습니다 :

> anesrakefinder(targets, testData, choosemethod = "total") 
    GENDER  AGE 
0.1495337 0.3668394 

을 내가 최종 분석을 수행 할 anesrake 기능을 사용할 때, 내가 던져 오류 :

> anesrake(inputter=targets,dataframe=testData,caseid=testData$CASEID) 
Error in rakeonvar.default(mat[, i], inputter[[i]], weightvec) : 
    number of variable levels does not match number of weighting levels 
In addition: Warning message: 
In rakeonvar.default(mat[, i], inputter[[i]], weightvec) : 
    NAs introduced by coercion 

나는 anesrake를 사용하는 방법에 대한 2 개의 '튜토리얼'을 따라 왔지만 여전히 부족합니다.

http://sdaza.com/survey/2012/08/25/raking/

http://surveyinsights.org/wp-content/uploads/2014/07/Full-anesrake-paper.pdf

이 크게 주시면 감사하겠습니다이에 제공 할 수있는 어떤 도움 : 다음은 아래의 튜토리얼입니다.

건배,

스투

+0

가 적나요 사용하여 데이터 변수의 수준과 같은 목표 변수의 수준을 라벨 필요 이것을 우회하는 방법을 찾으십시오. – Kevin

+0

불행히도 아닙니다 : ( –

+0

안녕하세요 @ StuRichards!이게 해결 되었습니까? 역시 같은 오류가 발생합니다. – dixi

답변

0

난 그냥 요인 문자에서 내 데이터를 변환하여 같은 문제를 해결했다.

당신이 시도 할 수있는 사항은 다음과 같습니다

testData$GENDER <- as.factor(testData$GENDER) 
testData$AGE <- as.factor(testData$AGE) 
0

다음과 같은 예 -

names(targets$agecat1) <- levels(rak2$agecat1) 
names(targets$newpayer) <- levels(rak2$newpayer)