R语言中的subset()应用
> Datafra <- data.frame(name=c(1,2,4,NA,4,5,7),family=c("xiao","ming",NA,NA,"zhou","zheng","li")) > Datafra name family 1 1 xiao 2 2 ming 3 4 <NA> 4 NA <NA> 5 4 zhou 6 5 zheng 7 7 li ##选出name列大一等于一的行 > subset(Datafra,name >= 1) name family 1 1 xiao 2 2 ming 3 4 <NA> 5 4 zhou 6 5 zheng 7 7 li #由于family中有NA,因此去掉有NA的行 > subset(Datafra,name >= 1&family != "NA") name family 1 1 xiao 2 2 ming 5 4 zhou 6 5 zheng 7 7 li
也可以使用select参数选择指定的列
> subset(Datafra,name >= 1&family != "NA",select = 1) name 1 1 2 2 5 4 6 5 7 7
#只选择符合筛选条件的第一列
以上是subset函数在结合data.frame进行条件筛选时的常见用法
subset函数还可以用在向量上,其实这从上面的用法中也能够推导出来,例如:
> vec <- c(1,2,3,4,NA,3,NA,NA) > subset(vec , vec > 2) [1] 3 4 3 #可以看出用subset函数进行筛选时,筛选过程中会自动忽略掉NA值,这是个很方便的去掉NA值的特性