R语言:使用dplyr提取行、列(filter, select)
file.txt如下所示:
phe rs1 rs2
9 AG AA
6 GG CA
4 GG AA
- 1、如果想提取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
或者
phe = read.table("file.txt",header=T,check.names=F)
phe1=phe[which(phe$rs1 %in% "GG"),]
head(phe1)
6 GG CA
4 GG AA
- 2、如果想提取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
- 3、如果想提取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
- 4、如果想提取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
- 5、如果想提取列名为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
- 6、如果想提取rs1列中不含有GG的行,则可以使用命令:
phe = read.table("file.txt",header=T,check.names=F)
phe1=phe %>% filter(phe[,2] != "GG")
head(phe1)
9 AG AA
本文来自博客园,作者:橙子牛奶糖(陈文燕),转载请注明原文链接:https://www.cnblogs.com/chenwenyan/p/15261246.html