我有一个名为“abcframe”的data.frame
a b c
1 1 1
2 2 3
如何在给定数据框中查找列是否存在?例如,我想知道data.frame abcframe中是否存在列d。
假设您的数据框的名称是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