【发布时间】:2015-08-11 17:59:59
【问题描述】:
我在尝试使用 R 比较和设置工作日字符串值作为“周末”或“工作日”时遇到错误。任何有关如何以更好的方式解决此问题的建议都会很棒。
x <- c("Mon","Tue","Wed","Thu","Fri","Sat","Sun")
setDay <- function(day){
if(day == "Sat" | "Sun"){
return("Weekend")
} else {
return("Weekday")
}
}
sapply(x, setDay)
这是我在 RStudio 中返回的错误:
Error in day == "Sat" | "Sun" :
operations are possible only for numeric, logical or complex types
【问题讨论】:
-
一次只能进行一项比较。试试
day == "Sat" | day == "Sun" -
@Benjamin 这不完全正确,
day %in% c("Sat","Sun")是另一种选择。 -
@Benjamin 除了你可以...
day %in% c("Sat","Sun")... -
好吧,如果你想进行明显的修正,当然可以。 :)
-
另外,请查看 related answers 了解您正在烘干的内容的内置版本
标签: r string function compare logical-operators