我的数据
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))), ]
任何想法为什么?
答案 0 :(得分:1)
根据grep
对行进行子集化的一个选项是对列进行子集化,然后使用is.na
来对行进行子集化。
myDf[!is.na(myDf[,grep("mno", names(myDf))]),]