如何检查r中数据框中是否存在列
您可以使用以下方法检查 R 数据框中是否存在列:
方法一:检查数据框中是否存在准确的列名
' this_column ' %in% names(df)
方法2:检查数据框中是否存在部分列名
any(grepl(' partial_name ', names(df)))
方法3:检查数据框中是否都存在多个精确的列名
all(c(' this_column ', ' that_column ', ' another_column ') %in% names(df))
本教程通过以下数据框解释了如何在实践中使用每种方法:
#create data frame
df <- data. frame (team=c('A', 'B', 'C', 'D', 'E'),
points=c(99, 90, 86, 88, 95),
assists=c(33, 28, 31, 39, 34),
rebounds=c(30, 28, 24, 24, 28))
#view data frame
df
team points assists rebounds
1 A 99 33 30
2 B 90 28 28
3 C 86 31 24
4 D 88 39 24
5 E 95 34 28
示例 1:检查数据框中是否存在确切的列名
以下代码显示如何检查数据框中是否存在“bounces”列的确切名称:
#check if exact column name 'rebounds' exists in data frame ' rebounds ' %in% names(df) [1] TRUE
输出返回TRUE 。
这告诉我们数据框中存在“bounces”列的确切名称。
注意:此语法区分大小写。这意味着如果我们使用“Rebounds”,我们将收到一个 FALSE 值,因为数据框中不存在带有大写字母的名称“Rebounds”。
示例 2:检查数据框中是否存在部分列名
以下代码显示如何检查数据框中是否存在部分列名称“tea”:
#check if partial column name 'tea' exists in data frame any(grepl(' tea ', names(df))) [1] TRUE
输出返回TRUE 。
这告诉我们部分列名“tea”确实存在于数据框中。
示例 3:检查数据框中是否都存在多个精确列名
以下代码显示如何检查名称“team”、“points”和“blocks”是否都存在于数据框中:
#check if three column names all exist in data frame all(c(' team ', ' points ', ' blocks ') %in% names(df)) [1] FALSE
输出返回FALSE 。
这告诉我们,我们检查的三个列名并不全部存在于数据框中。
其他资源
以下教程解释了如何在 R 中执行其他常见任务: