반응형
데이터 프레임의 레이블에서 열 인덱스 가져 오기
다음 데이터 프레임이 있다고 가정합니다.
> df
A B C
1 1 2 3
2 4 5 6
3 7 8 9
색인에서 'B'열을 선택할 수 있습니다.
> df[,2]
[1] 2 5 8
열 레이블 ( 'B')에서 인덱스 (2)를 얻는 방법이 있습니까?
당신은을 통해 인덱스를 얻을 수 grep
및 colnames
:
grep("B", colnames(df))
[1] 2
또는 사용
grep("^B$", colnames(df))
[1] 2
B 예를 들어 "ABC"를 포함하지 않고 "B"라는 열만 가져옵니다.
다음이 수행합니다.
which(colnames(df)=="B")
복잡한 열 재 배열 이 필요했기 때문에 colname에 대한 모든 인덱스를보고 싶었 기 때문에 colname을 데이터 프레임으로 인쇄했습니다. 행 이름은 인덱스입니다.
as.data.frame(colnames(df))
1 A
2 B
3 C
위 의 chimeric의 답변 에서 다음을 따르십시오 .
얻으려면 모든 열 인덱스를 에 DF 내가 사용하므로 :
which(!names(df)%in%c())
또는 목록에 저장 :
indexLst<-which(!names(df)%in%c())
이것은 열 번호로 변수를 나열하는 효율적인 방법 인 것 같습니다.
cbind(names(df))
산출:
[,1]
[1,] "A"
[2,] "B"
[3,] "C"
때로는 위치가있는 변수를 코드에 복사하여이 함수를 사용합니다.
varnums<- function(x) {w=as.data.frame(c(1:length(colnames(x))),
paste0('# ',colnames(x)))
names(w)= c("# Var/Pos")
w}
varnums(df)
산출:
# Var/Pos
# A 1
# B 2
# C 3
사용 t
기능 :
t(colnames(df))
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] "var1" "var2" "var3" "var4" "var5" "var6"
참고 URL : https://stackoverflow.com/questions/4427234/get-column-index-from-label-in-a-data-frame
반응형
'program story' 카테고리의 다른 글
Asp.net MVC4 : 컨트롤러와 작업 모두에 대한 권한 부여 (0) | 2020.11.03 |
---|---|
작업자 스레드를 통해 ObservableCollection을 업데이트하려면 어떻게해야합니까? (0) | 2020.11.03 |
입력 유형 = 파일을 만드는 방법은 pdf 및 xls 만 허용해야합니다. (0) | 2020.11.03 |
% 0 | % 0이란 무엇이며 어떻게 작동합니까? (0) | 2020.11.03 |
Bash 인수에서 따옴표를 유지하는 방법은 무엇입니까? (0) | 2020.11.03 |