2017-05-19 1 views
1

데이터 세트를 분할해야합니다. 그래서이 코드를 사용합니다.r에서 변수의 위치를 ​​추출하는 방법은 무엇입니까?

a<-read.csv("philiphine.csv",header=TRUE) 
factor_level<-a[, sapply(a, nlevels) > 32] 
factor_names<-names(factor_level) 

그리고 32 개 이상의 레벨 변수가있는 데이터를 삭제합니다. 그래서 subset() 함수를 사용했습니다.

dataset<-subset(a, selet=-c(??)) 

인 ?? 변수의 위치를 ​​사용해야합니다. 변수 이름을 사용할 수 있습니까 ?? 그런 다음 변수 이름을 사용하여 변수를 삭제하는 방법은 무엇입니까? 또는 subset() 함수에서 변수의 위치 만 사용해야합니까?

+1

네를 사용하여 동일한을 달성 할 수있다, 그 subset''의 점은 인용 부호로 둘러싸이지 않은 변수 이름을 취할 수있다이다. 인덱스 나 문자열의 경우'['. – alistaire

+0

@alistaire 내 코드에서 어떻게 사용합니까 ??? aa <-a [, factor_names] <<이 코드는 32보다 많은 레벨을 가진 변수를 추출합니다. 변수를 제외하고 어떻게 추출합니까? –

+2

그냥'데이터 집합 <- a [, sapply (a, nlevels) <= 32]' – alistaire

답변

0

당신은 또한 아래의 명령

a[, sapply(a, function(col) length(unique(col))) <= 32]