2014-04-13 3 views
1

아래 표를 예로 들자면 'chr'유형의 열만 필터링 할 수 있습니까? 예를 들어
: 예를 들어, 난 단지 문자열 변수의 목록을보고 싶습니다 목재 CHR을특정 유형으로 변수를 필터링하는 방법

dat <- read.table(text = " Timber apcalc admit  num 
    pine  0  0   7 
    pine  0  1   1 
    oak   1  0   3 
    olive  1  1   7 
    olive  0  0   5 
    oak   0  1   1 
    pine  1  0   0 
    pine  1  1   6", header = TRUE) 

답변

1

당신의 dataframe 당신에게, 사용 문자 변수 (열)의 목록을 제공합니다 :

sapply(dat[sapply(dat, is.character)],class) 

이 경우에 준다 :

named list() 

그러나이 원하는 결과를 제공하지.

'data.frame': 8 obs. of 4 variables: 
$ timber: Factor w/ 3 levels "oak","olive",..: 3 3 1 2 2 1 3 3 
$ apcalc: int 0 0 1 1 0 0 1 1 
$ admit : int 0 1 0 1 0 1 0 1 
$ num : int 7 1 3 7 5 1 0 6 

당신은 당신의 데이터 세트에는 문자 변수가없는 볼 수 있듯이 : str(dat)하면 제공 전체 dataframe에서 변수 (열)에 대한 자세한 정보를 얻을. 당신이 사용하는 경우 :

sapply(dat[sapply(dat, is.factor)],class) 

이 제공 :

timber 
"factor" 
+0

을이 유용한 정보를 제공하지만,이 문제가 해결되지 않습니다. –

+0

고마워,하지만 난 chr 변수 만 표시됩니다 솔루션을 찾고 있어요. 나는 시도했다 : sapply (dat [sapply (dat, is.chr)], 클래스). 그러나 성공하지 못했다. – mql4beginner

+0

이번에는 바로 알겠습니다 : sapply (vipdata_full [sapply (vipdata_full, is.character)], 클래스) – mql4beginner

1

당신은 sapply과 결합 is.numeric 기능을 사용할 수 있습니다

dat[sapply(dat, is.numeric)] 
    apcalc admit num 
1  0  0 7 
2  0  1 1 
3  1  0 3 
4  1  1 7 
5  0  0 5 
6  0  1 1 
7  1  0 0 
8  1  1 6 
관련 문제