gpt4 book ai didi

r - 比较字符串与 R 中的逻辑运算符

转载 作者:行者123 更新时间:2023-12-04 13:31:37 25 4
gpt4 key购买 nike

我在尝试使用 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

最佳答案

而不是使用 sapply循环遍历 x 中的每一天并检查是工作日还是周末,您可以使用 ifelse 在单个矢量化操作中执行此操作和 %in% :

ifelse(x %in% c("Sat", "Sun"), "Weekend", "Weekday")
# [1] "Weekday" "Weekday" "Weekday" "Weekday" "Weekday" "Weekend" "Weekend"

在这里使用矢量化操作的动机是双重的——它可以节省您的打字时间,并使您的代码更有效率。

关于r - 比较字符串与 R 中的逻辑运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31948808/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com