grep 式で、grep の値がinteger(0)
,print "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
grep 式で、grep の値がinteger(0)
,print "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
またはのいずれ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"
grepl
代わりに使用することもできますgrep
R> if (!any(grepl("w", data))) print('ok')
[1] "ok"
の代わりに、論理値を返すgrep
which を使用 できます。grepl
> if (grepl("w",data)== FALSE) print ("ok") else print("donkeykong")
[1] "ok"
> if (grepl("h",data)== FALSE) print ("ok") else print("donkeykong")
[1] "donkeykong"