Ff *_* Yy 11 grep r return-value
在grep表达式中,当grep的值为integer(0),打印"ok"时,我该怎么办?
> data="haha"
> grep("w",data)
integer(0)
> if (grep("w",data)==0) print ("ok")
Error in if (grep("w", data) == 0) print("ok") :
argument is of length zero
Run Code Online (Sandbox Code Playgroud)
GSe*_*See 14
你可以使用length或identical
R> if (length(grep("w", data)) == 0) print ("ok")
[1] "ok"
R> if (identical(grep("w", data), integer(0))) print ("ok")
[1] "ok"
Run Code Online (Sandbox Code Playgroud)
您也可以使用grepl而不是grep
R> if (!any(grepl("w", data))) print('ok')
[1] "ok"
Run Code Online (Sandbox Code Playgroud)