值NULL用于表示对象,尤其是长度为零的列表。如果列表包含NULL,那么我们可能希望将其替换为另一个值,或者如果我们没有任何替换值,则将其从列表中删除。要从列表中删除NULL值,我们可以将sapply与is.NULL取反。
x<-list(rep(10,5),NULL,12,"Nhooo",2006,NULL,NULL,NULL,TRUE,c(rep(1,5),rep(2,5),NULL,"Education","Video Lectures","Online",NULL,"Over Million Visitors")) x [[1]] [1] 10 10 10 10 10 [[2]] NULL [[3]] [1] 12 [[4]] [1] "Nhooo" [[5]] [1] 2006 [[6]] NULL [[7]] NULL [[8]] NULL [[9]] [1] TRUE [[10]] [1] "1" "1" "1" [4] "1" "1" "2" [7] "2" "2" "2" [10] "2" "Education" "Video Lectures" [13] "Online" "Over Million Visitors" x<-x[!sapply(x,is.null)] x [[1]] [1] 10 10 10 10 10 [[2]] [1] 12 [[3]] [1] "Nhooo" [[4]] [1] 2006 [[5]] [1] TRUE [[6]] [1] "1" "1" "1" [4] "1" "1" "2" [7] "2" "2" "2" [10] "2" "Education" "Video Lectures" [13] "Online" "Over Million Visitors" y<-list(c(5,10,15),NULL,c(rep("A",4)),rep(5,15,10,times=4),c(78,91,56,47,58,26,36,74,84),NULL,NULL,NULL) y [[1]] [1] 5 10 15 [[2]] NULL [[3]] [1] "A" "A" "A" "A" [[4]] [1] 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 [[5]] [1] 78 91 56 47 58 26 36 74 84 [[6]] NULL [[7]] NULL [[8]] NULL y<-y[!sapply(y,is.null)] y [[1]] [1] 5 10 15 [[2]] [1] "A" "A" "A" "A" [[3]] [1] 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 [[4]] [1] 78 91 56 47 58 26 36 74 84