2017-02-10 6 views
0

나는 하프 스파 스 매트릭스를 가지고 있습니다. 모든 세포의 절반은 공란 (na)이므로 '마우스'를 돌리려고 할 때 모든 세포에서 작용하려고합니다. 나는 단지 부분 집합에만 관심이있다.'R', 'mice', 변수 imputation이 누락되었습니다. - 희소 매트릭스에서 하나의 열만 수행하는 방법

질문 : 다음 코드에서 "마우스"는 처음 두 열에서만 작동하게합니까? 이전 행의 내용이 현재 행의 패치 홀을 도울 수 있도록 행 지연이나 행 리드를 사용하여이를 수행 할 수있는 명확한 방법이 있습니까? 내가 답을 보았다

set.seed(1) 

#domain 
x <- seq(from=0,to=10,length.out=1000) 

#ranges 
y <- sin(x) +sin(x/2) + rnorm(n = length(x)) 
y2 <- sin(x) +sin(x/2) + rnorm(n = length(x)) 

#kill 50% of cells 
idx_na1 <- sample(x=1:length(x),size = length(x)/2) 
y[idx_na1] <- NA 

#kill more cells 
idx_na2 <- sample(x=1:length(x),size = length(x)/2) 
y2[idx_na2] <- NA 

#assemble base data 
my_data <- data.frame(x,y,y2) 

#make the rest of the data 
for (i in 3:50){ 


    my_data[,i] <- rnorm(n = length(x)) 
    idx_na2 <- sample(x=1:length(x),size = length(x)/2) 
    my_data[idx_na2,i] <- NA 

} 

#imputation 
est <- mice(my_data) 

data2 <- complete(est) 

str(data2[,1:3]) 

장소 :

+1

많은 가치 소멸 방법은 모든 변수의 공동 분포를 추정하여 작동하므로 모든 값의 공동 분포를 더 잘 예측하기 위해 모든 열의 누락 값을 반복적으로 채 웁니다. 모든 항목에 대해 대체 작업을 수행하는 것이 좋습니다. 귀속 된 값을 삭제하려면 누락 된 값의 데이터 프레임을 저장하면 누락 된 열에서 누락 된 값을 누락 된 값으로 재설정 할 수 있습니다.'is.na (dataframe) ' –

답변

0

귀하의 질문이 아니다 나에게 완전히 분명해. 두 개의 기둥 만 조작하고 싶다고 말하고 있습니까? 이 경우 mice(my_data[,1:2])가 작동합니다. 또는 모든 데이터를 사용하지만 일부 열에 누락 값만 채우고 싶습니까? 이렇게하려면, 그냥 다음과 같은 라인을 따라 지표 행렬을 만들 것입니다 : 당신의 마지막 질문에 대한

isNA <- data.frame(apply(my_data, 2, is.na)) 
est <- mice(my_data) 

mapply(function(x, isna) { 
    x[isNA == 1] <- NA 
    return(x) 
}, <each MI mice return object column-wise>, isNA) 

, "나는 데이터 전가 롤링 mice를 사용할 수 있습니까?" 나는 대답이 '아니오'라고 생각한다. 그러나 문서를 다시 확인해야합니다.

+0

먼저 max 그것들은 칼럼과 관련한 구조를 구축했기 때문에 인터랙션은 "마우스"를 제로로 만든다. 그런 다음 모든 열에 대한 방법을 설정했지만 관심사 중 하나는 고려하지 않았습니다. 매트릭스를 사용하여 어떤 열이 대체를 위해 어떤 변수에 공급되는지 말할 수 있습니다. – EngrStudent

+0

@EngrStudent 귀하의 의견은 완전히 분명하지 않습니다. 나는 문자 그대로 전혀 이해하지 못한다 ... 그리고 당신의 영업은 여전히 ​​나에게 불분명하다. –

+0

월요일에 코드를 입력하기를 희망한다. – EngrStudent