0
데이터 프레임이 있는데 요인 변수를 사용하여 상위 31 개 수준 만 유지하고 다른 모든 수준을 일반 수준으로 만듭니다.벡터에 대한 R 함수
여러 가지 벡터에 걸쳐이 작업을 수행해야하므로 기능을 만들 것이라고 생각했지만 많은 행운이 없습니다. 나는 어떻게 든 mapply
또는 Vectorize
을 사용할 필요가 있다고 생각하지만 나는 메모리의 3.6 기가를 할당 할 수 없다는 에러 메시지를 받으면 제대로하고 있다고 생각하지 않는다.
이 x는 벡터 인 기능이며, 탑 카운트 내가 이런 걸 쓸 수 있도록하고 싶습니다 수준의 수는
createFactor <-function(x, topCount){
table1 <- data.frame(table(x))
table1 <- table1[order(-table1$Freq),]
noChange <- table1$Var1[1:topCount]
newVals1 <- factor(ifelse(x %in% noChange, x, "-1000"))
newVals1
}
을 유지하는 것입니다 :
df1$topLevels <- createFactor(df1$fact1, 31)
하나를 제안?
+1하지만 실제로'levelsToKeep'는'unusedLevels'가 아닌가요? – Tommy
@ 토미 당, 그걸 거꾸로 들었 니? 내가 고칠거야 ... – joran
그랬어. 고맙습니다. – screechOwl