if else 语句中用于在 R 中分配标志时出错?

Error in if else statement using to assign flag in R?

提问人:Hydro 提问时间:11/8/2023 更新时间:11/9/2023 访问量:30

问:

任何建议来修复以下代码,这些代码将分配特定月份的列?10BFlag

library(tidyverse)
library(lubridate)

DF <- data.frame(Date = seq(as.Date("1928-01-01"), 
                      to = as.Date("1930-12-31"), 
                      by = "day")) %>%  separate(Date, into = c("Year", "Month", "Day")) %>% 
  mutate(BFlag = ifelse(Month == c(1,2,3,11,12),1,ifelse(Month == c(4,5,6,7,8,9,10),0)))
R DataFrame IF-语句 Tidyverse 润滑剂

评论

0赞 Omniswitcher 11/9/2023
你能提供更多的背景信息吗?背景/尝试过什么/当前的最终产品是什么样子的,它应该是什么?此时,您有一个主题,这是一个问题,另一个问题与代码有关。您的帖子似乎没有明显的问题或重点。请记住,SO 上的人喜欢帮忙。但他们确实需要足够的信息。没有人会经历反复试验的过程,也许会对一个不清楚的问题给出正确的答案。
0赞 THATguy 11/9/2023
如果您尝试匹配向量而不是单个值,我认为您想使用 ifelse(Month %in% c(1,2,3,11,12),...) 而不是 ==。

答:

0赞 Hydro 11/9/2023 #1

刚刚修复了我的代码,它给了我我一直在寻找的答案。感谢所有看到它的人。发布了答案,因为它可能会帮助其他人解决类似的问题。

DF <- data.frame(Date = seq(as.Date("1928-01-01"), 
                      to = as.Date("2009-12-31"), 
                      by = "day")) %>%  separate(Date, into = c("Year", "Month", "Day")) %>% 
  mutate(BFlag = ifelse(Month %in% c("01","02","03","11","12"),1,0))

评论

0赞 Mark 11/9/2023
问题出在哪里?