如何在R中使用dplyr只选择数字列

297 阅读1分钟

你可以使用以下来自dplyr包的函数来从R语言的数据框架中只选择数字列:

df %>% select(where(is.numeric))

下面的例子展示了如何在实践中使用这个函数。

例子:使用dplyr只选择数字列

假设我们在R语言中拥有以下数据框,其中包含各种篮球运动员的信息:

#create data frame
df <- data.frame(team=c('A', 'B', 'C', 'D', 'E'),
                 points=c(22, 34, 30, 12, 18),
                 assists=c(7, 9, 9, 12, 14),
                 rebounds=c(5, 10, 10, 8, 8))

#view data frame
df

  team points assists rebounds
1    A     22       7        5
2    B     34       9       10
3    C     30       9       10
4    D     12      12        8
5    E     18      14        8

我们可以使用以下语法从数据框中只选择数字列:

library(dplyr)

#select only the numeric columns from the data frame
df %>% select(where(is.numeric))

  points assists rebounds
1     22       7        5
2     34       9       10
3     30       9       10
4     12      12        8
5     18      14        8

注意,只有三个数字列被选中--得分助攻篮板

我们可以通过使用str()函数显示数据框中每个变量的数据类型来验证这些列是数值列:

#display data type of each variable in data frame
str(df)

'data.frame':	5 obs. of  4 variables:
 $ team    : chr  "A" "B" "C" "D" ...
 $ points  : num  22 34 30 12 18
 $ assists : num  7 9 9 12 14
 $ rebounds: num  5 10 10 8 8

从输出结果中我们可以看到,球队是一个字符变量,而得分助攻篮板都是数字。

其他资源

下面的教程解释了如何使用dplyr执行其他常见任务:

如何使用dplyr按名称选择列
如何使用dplyr按索引选择列
如何在dplyr中使用带有多个条件的select_if