후 내 오류를 다시 장난감 예제를 포함했다 :R 매칭 dataframe 전과 누락 된 값으로 회귀하고 일부 회귀
data(cars)
cars$dist[cars$dist<5]<-NA
cars$fast<- (cars$speed>10)*1
fit<-lm(speed~dist,cars)
cl <- function(dat,fm, cluster){
require(sandwich, quietly = TRUE)
require(lmtest, quietly = TRUE)
M <- length(unique(cluster))
N <- length(cluster)
K <- fm$rank
dfc <- (M/(M-1))*((N-1)/(N-K))
uj <- apply(estfun(fm),2, function(x) tapply(x, cluster, sum));
vcovCL <- dfc*sandwich(fm, meat=crossprod(uj)/N)
result<-coeftest(fm, vcovCL)
return(result)}
cl(cars,fit,cars$fast)
Error in tapply(x, cluster, sum) : arguments must have same length
문제는 원래 dataframe가 regresssion에 사용되는 dataframe보다 큰 것입니다 제거 된 NA 및 하위 집합 회귀로 인해 강력한 표준 오류를 계산할 필요가 있으므로 함수를 사용하여 SE를 계산해야하지만, 제거 된 적절한 NAs를 식별하여 데이터 프레임과 함께 사용할 올바른 클러스터를 식별 할 수있는 방법은 무엇입니까?
미리 감사드립니다.
내가 문의 바랍니다이 좋아한다? –
당신이 맞습니다, 나는 그것을 제거해야합니다. 클러스터는 회귀 분석에 사용 된 데이터 프레임과 일치하는 벡터입니다. – mumpy