name - title in ggplot2 r




Как бороться с ошибкой grep, возвращающей целое число(0) в R? (2)

В выражении 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

Вместо grep можете использовать 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"

Вы можете использовать либо 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"






return-value