2014-02-28 3 views
1

robCompositions 패키지에서 누락 된 값을 그룹별로 전가해야합니다. 예를 들어 홍채 데이터 세트를 사용합니다. 나는 아무 생각도 사용할 수 manip이없는 경우dplyr : 그룹별로 여러 인수를 사용하여 함수 조작

library(robCompositions) 
library(dplyr) 
data(iris) 

# Insert random NAs 
for (i in 1:4) { 
    n_NA = sample(0:10, 1) 
    index_NA = sample(1:nrow(iris), n_NA) 
    iris[index_NA, i] = NA 
} 

이것은 ...

impfunc <- function(x) x %.% 
    regroup(list(...)) %.% 
    mutate(impKNNa(x[,-5], k=6, metric="Euclidean")) 
impfunc(iris, "Species") 

iris %.% group_by(Species) %.% mutate(impKNNa(iris[,-5], k=6, metric="Euclidean")) 

어떤 생각인가?

감사합니다.

답변

0

do() 함수를 사용하십시오. 그룹화 된 데이터 프레임에 임의의 기능을 적용 할 수 있습니다.

또한 impKNNa의 출력뿐만 아니라 변경된 데이터 프레임 인 impKNNA $ xImp도 추출해야합니다.

다른 문제는 impKNNA가 관심있는 숫자 변수를 제외한 다른 변수를 원하지 않으며 do()가 범주 변수를 제거하지 않는다는 것입니다. 따라서 아마도 솔루션은 분류 변수를 제거하고 xIMP를 반환하는 impKNNA의 래퍼 함수를 ​​작성하고 do()를 사용하여이를 그룹화 된 데이터 프레임에 적용하는 것입니다.

관련 문제