【发布时间】:2019-09-02 08:44:20
【问题描述】:
我有一个列出 400 个产品的数据框。这些产品中的每一个都属于某个类别:身体清洁、头发、DEO、手部身体、面部、男士、唇部、太阳和女性剃须。此外,我还有销售月,其中 400 种产品中的每一种都发布了。
如果产品在旺季推出,我想在我的数据框中创建一个新列显示TRUE,否则显示FALSE。
逻辑是这样的:
如果在 10 月或 11 月或 12 月的旺季月份推出了身体清洁或头发或 DEO 或手部身体或面部或男士或唇部类别中的产品 = TRUE 并且如果太阳或女性剃须类别中的产品是在 4 月、5 月、6 月或 7 月的旺季推出 = TRUE。
我尝试了以下方法:
Sample_15$high_season <- (Sample_15$Category == "BODY CLEANSING" | "HAIR"
| "DEO" | "HAND BODY"| "FACE" | "MEN" | "LIP" & Sample_15$Months_extract
== "Oktober" | "November" | "Dezember") | (Sample_15$Category == "SUN" |
"FEMALE SHAVE" & Sample_15$Months_extract == "April" |
"Mai" | "Juni" | "Juli")
我收到此错误消息:
Error in Sample_15$Category == "BODY CLEANSING" | "HAIR" :
operations are possible only for numeric, logical or complex types
有人知道如何编写布尔逻辑吗?任何帮助表示赞赏!!!!
【问题讨论】:
标签: r if-statement