在is.na()

时间:2015-11-16 13:07:25

标签: regex r

我的数据

aabc <- c(1:10)
bbdef <- c(11:20)
ccghj <- letters[1:10]
ddjkl <- LETTERS[11:20]
eemno <- c(NA, NA, 100, 200, 300, NA, 800, 900, NA, 400)

myDf <- data.frame(aabc, bbdef, ccghj, ddjkl, eemno)

现在我想从某个列(eemno)中删除NA行。

 myDf[!is.na(myDf$eemno), ]

然而,使用正则表达式它不起作用。

myDf[!is.na(grepl("mno", names(myDf))), ]

任何想法为什么?

1 个答案:

答案 0 :(得分:1)

根据grep对行进行子集化的一个选项是对列进行子集化,然后使用is.na来对行进行子集化。

myDf[!is.na(myDf[,grep("mno", names(myDf))]),]