2013-07-18 4 views
-2

str (dataframe)의 결과에서 데이터 프레임의 어떤 열 이름이 "chr"인지 식별하는 방법은 무엇입니까? ? 즉'chr'인 데이터 프레임에서 열을 제거하는 방법

df = read.table(myfile.txt) 
str(df) 

하는 dataframe에서 각 컬럼의 유형을 알고하는 방법> STR (DF) @Tyler 스케이트 타는 사람 이상 제공 제안을 바탕으로

>>>str(df) 
'data.frame': 5 obs. of 6 variables: 
$ gender: Factor w/ 2 levels "F","M": 2 1 2 2 2 
$ age : num 51.1 51.5 52.3 54 52.4 
$ Col1 : int 46 47 45 38 41 
$ Col2 : int 38 NA 38 40 27 
$ Col3 : num 0.6 0.4 0.9 0.8 0.8 
$ col4 : int 1 1 1 1 0 
+0

"chr"앞에 콜론이 오는 열 이름이 있어야합니다. –

+0

네,하지만 그 목록을 얻는 방법? – learner

+3

아마도 당신은'sapply (your_dataframe, class)'를 원할 것입니다. –

답변

0
> df <- data.frame(V1=letters[1:20], V2=rnorm(20), V3=rnorm(20), stringsAsFactors=F) 
> head(df) 
    V1   V2   V3 
1 a -1.1503207 0.6404503 
2 b 0.8197962 0.5596914 
3 c -0.9807482 -0.9668770 
4 d -0.7739147 -0.0118510 
5 e -0.1544853 0.6315314 

> names(df)[(1:ncol(df))[mapply(is.character, df)]] 
[1] "V1" 

:

> names(df)[sapply(df, class)=="character"] 
[1] "V1" 

당신은 단순히 CHR 열을 제거하려는 경우 :

> df2 <- df[,sapply(df, class)!="character"] 
> head(df2) 
      V2   V3 
1 -1.15032068 0.6404503 
2 0.81979620 0.5596914 
3 -0.98074820 -0.9668770 
4 -0.77391472 -0.0118510 
5 -0.15448529 0.6315314 
관련 문제