$dataframe %>%select($var1,$var2,$var3)  #列名,但建议用这种。

$dataframe %>%select($index1,$index2,$index3) #列的位置

上述等效,但建议用列名选择。

  • 如flights%>%select(year,month,day) #第1、2、3列  与flights%>%select(1,2,3)一致。
  • select内这是多个条件时也表示取并集,“或”关系。
  • select 内可以设置多个条件,用逗号分隔,“或” 的关系。如flights %>% select(starts_with("arr"),ends_with("time")) #取以arr开头或time结尾的列名

  • starts_with,ends_with,contains,matches 这四个函数有ignore_case参数,默认是TRUE,是忽略大小写的 ,需要识别得话设为FASLE.
  • select多次选择同一变量名时只选择一次。如 flights %>% select(year, month, day, year, day)

  • 用rname()重命名列名(变量名)  如rename(flights,tail_num=tailnum) # 将数据框flights中的原tail_num列变量重命名为tailnum,其他列不改动。
  • mutate 新增列,判断其他列内容填充到新列,

    如 phenotype_sex<- phenotype%>% mutate(sex=if_else(!is.na(sex.2.女.),sex.2.女.,ifelse(性别=="女","2","1")))

    # 即: 1)如果sex.2.女. 不是NA, 那么填充此列对应内容

    2)如果sex.2.女. 是NA,那么从“性别”列取值

    如果 “性别”列内容是“女”,则赋值为2,否则赋值为1