R语言第二章数据处理①选择列

时间:2022-06-16
本文章向大家介绍R语言第二章数据处理①选择列,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

主要介绍几个基于 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)