programing

데이터 프레임에 열이 있는지 여부를 확인하는 방법

minimums 2023. 7. 7. 18:52
반응형

데이터 프레임에 열이 있는지 여부를 확인하는 방법

이름이 "abcframe"인 data.frame이 있습니다.

     a  b  c
     1  1  1
     2  2  3

주어진 데이터 프레임에 열이 존재하는지 여부를 확인하려면 어떻게 해야 합니까?예를 들어 d열이 data.frame abcframe에 있는지 확인하려고 합니다.

데이터 프레임의 이름을 다음과 같이 가정합니다.dat확인할 열 이름은 다음과 같습니다."d"사용할 수 있습니다.%in%연산자:

if("d" %in% colnames(dat))
{
  cat("Yep, it's in there!\n");
}

사용하는 것을 포함하여 여러 가지 옵션이 있습니다.%in%그리고.grepl:

dat <- data.frame(a=1:2, b=2:3, c=4:5)
dat
  a b c
1 1 2 4
2 2 3 5

열의 이름을 가져오는 방법

names(dat)
[1] "a" "b" "c"

사용하다%in%구성원 자격 확인하기

"d" %in% names(dat)
[1] FALSE

Or use `grepl` to check for a match:

grepl("d", names(dat))
[1] FALSE FALSE FALSE

사용할 수 있습니다.any:

> names(dat)
[1] "a" "b" "c"
> any(names(dat) == 'b')
[1] TRUE
> any(names(dat) == 'B')
[1] FALSE

사용할 수도 있습니다.if(!is.null(abcframe$d))여부를 테스트하기 위해d존재하는abcframe.

dat <- data.frame(a = 1:2, b = 2:3, c = 4:5)

if (!is.null(dat$d)) {
  print("d exists")
} else {
  print("d does not exist")
}
if (!is.null(dat$a)) {
  print("a exists")
} else {
  print("a does not exist")
}

깔끔한 역방향 접근법은 어떤 사람들에게는 더 읽을 수 있고, 따라서 기억하는 것이 더 좋습니다.

다음을 통해 변수를 검색할 수 있습니다.str_detect다음과 같은 논리 벡터를 반환합니다.grepl그리고 이것을 기본 R 함수로 접습니다.any하나 이상의 TRUE 값이 있으면 TRUE를 반환합니다.

dat %>% names %>% str_detect("d") %>% any()

언급URL : https://stackoverflow.com/questions/10276092/to-find-whether-a-column-exists-in-data-frame-or-not

반응형