Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何根据R中的条件获取下个月或当前月_R_If Statement_Mutate - Fatal编程技术网

如何根据R中的条件获取下个月或当前月

如何根据R中的条件获取下个月或当前月,r,if-statement,mutate,R,If Statement,Mutate,我有下面的数据,我需要从中创建一个计算字段-Change\u Month 变更月的psuedo代码为: 如果变更日期小于当月15日,则变更月份为当月,否则为下一个月 Adv_Code Change_Dt A201 12/04/2017 A198 27/07/2017 S1212 10/11/2017 我尝试过: df = mutate(df, Change_Month = months(Chan

我有下面的数据,我需要从中创建一个计算字段-Change\u Month

变更月的psuedo代码为: 如果变更日期小于当月15日,则变更月份为当月,否则为下一个月

Adv_Code    Change_Dt     
A201        12/04/2017
A198        27/07/2017    
S1212       10/11/2017  
我尝试过:

df = mutate(df,
                Change_Month = months(Change_Dt,abbreviate = FALSE))
注意:更改是字符数据类型

Expected output:
Adv_Code    Change_Dt   Change_Month     
A201        12/04/2017      April
A198        27/07/2017      August
S1212       10/11/2017      November

有人能在mutate语句中帮助我获得所需的输出吗?

我们可以使用
round\u date
from
lubridate

library(lubridate)
df$Change_Month <- format(round_date(dmy(df$Change_Dt), unit = "month"), "%B")
df
#  Adv_Code  Change_Dt Change_Month
#1     A201 12/04/2017        April
#2     A198 27/07/2017       August
#3    S1212 10/11/2017     November
库(lubridate)
df$Change\u月
df$Change_Dt <- as.Date(df$Change_Dt, "%d/%m/%Y")
with(df, ifelse(as.integer(format(Change_Dt, "%d")) < 15, 
   format(Change_Dt, "%B"), format(Change_Dt + 30, "%B")))
#[1] "April"    "August"   "November"