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值的特性
