R语言:使用dplyr提取行、列,filter, select

file.txt如下所示:

phe         rs1           rs2
9           AG            AA
6           GG            CA
4           GG            AA
  • 如果想提取rs1列中含有GG的行,则可以使用命令:
phe = read.table("file.txt",header=T,check.names=F)
phe1=phe %>% filter(phe[,2] %in% "GG")
head(phe1)
6           GG            CA
4           GG            AA
  • 如果想提取rs1中包含A字符的行,则可以使用命令:
phe = read.table("file.txt",header=T,check.names=F)
phe1=dplyr::filter(phe, grepl('A', rs1))
head(phe1)
phe         rs1           rs2
9           AG            AA
  • 如果想提取rs1中包含A或者G字符的行,则可以使用命令:
phe = read.table("file.txt",header=T,check.names=F)
phe1=dplyr::filter(phe, grepl("A", rs1) | grepl("G", rs1))
head(phe1)
phe         rs1           rs2
9           AG            AA
6           GG            CA
4           GG            AA
  • 如果想提取rs1中不包含A和G字符的行,则可以使用命令:
phe = read.table("file.txt",header=T,check.names=F)
phe1=dplyr::filter(phe, !grepl("A", rs1) & !grepl("G", rs1))
head(phe1)
phe         rs1           rs2
  • 如果想提取列名为rs1的列,则可以使用命令:
phe = read.table("file.txt",header=T,check.names=F)
phe1=phe%>%dplyr::select("rs1") 
head(phe1)
rs1
AG
GG
GG 

或者:

phe = read.table("file.txt",header=T,check.names=F)
phe1=phe[,c("rs1")]
head(phe1)
rs1
AG
GG
GG