Чтобы определить, существует ли столбец в кадре данных или нет

У меня есть data.frame с именем "abcframe"

     a  b  c
     1  1  1
     2  2  3

Как я могу определить, существует или нет столбец в данном фрейме данных? Например, я хотел бы найти, существует ли столбец d в файле data.frame abcframe.

Ответ 1

Предполагая, что имя вашего фрейма данных dat и что ваше имя столбца для проверки равно "d", вы можете использовать оператор %in%:

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

Ответ 2

У вас есть ряд опций, включая использование %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

Ответ 3

Вы можете использовать any:

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