主要介绍几个基于 tidyverse 的函数:
- select():将一列或多列提取为数据表。 它还可用于从数据框中删除列。
- select_if():根据特定条件选择列。 例如可以使用此函数选择列,如果它是数字。
- 辅助函数 - starts_with(),ends_with(),contains(),matches(),one_of():根据名称选择列/变量
- 根据列的位置选择列或者根据列的名字选择列
#选择第一列到第三列
my_data %>% select(1:3)
#选择第一列和第三列
my_data %>% select(1, 3)
my_data %>% select(Sepal.Length, Petal.Length)
my_data %>% select(Sepal.Length:Petal.Length)
- 还有其他函数同样可以用于选择列,包括根据首字母,尾字母,包含某字符,或者根据该列的属性选择列
# Select column whose name starts with "Petal"
my_data %>% select(starts_with("Petal"))
# Select column whose name ends with "Width"
my_data %>% select(ends_with("Width"))
# Select columns whose names contains "etal"
my_data %>% select(contains("etal"))
# Select columns whose name maches a regular expression
my_data %>% select(matches(".t."))
# selects variables provided in a character vector.
my_data %>% select(one_of(c("Sepal.Length", "Petal.Length")))
- 根据条件选择列
#选择列属性为数字的列
my_data %>% select_if(is.numeric)
- 删除列(根据列的属性)
#Removing Sepal.Length and Petal.Length columns:
my_data %>% select(-Sepal.Length, -Petal.Length)
#Removing all columns from Sepal.Length to Petal.Length:
my_data %>% select(-(Sepal.Length:Petal.Length))
#Removing all columns whose name starts with “Petal”:
my_data %>% select(-starts_with("Petal"))
- 根据列的位置删除列
# Drop column 1
my_data %>% select(-1)
# Drop columns 1 to 3
my_data %>% select(-(1:3))
# Drop columns 1 and 3 but not 2
my_data %>% select(-1, -3)
网友评论