【问题标题】:How I can automate this R Code, with parameters?如何使用参数自动化此 R 代码?
【发布时间】:2021-04-28 21:02:45
【问题描述】:
YR = "2021"

那么我的结果应该是:

levels = c("202101", "202102", "202103", "202104", "202105", "202106", "202107", "202108", "202109", "202110", "202111", "202112"),

labels = c("Jan-2021", "Feb-2021", "Mar-2021", "Apr-2021","May-2021","Jun-2021","Jul-2021","Aug-2021","Sep-2021","Oct-2021","Nov-2021","Dec-2021"))

这是为标签创建的。

如果我把它改成

YR = 2022 

那么我的结果应该是:

levels: c("202201","202202",...,"202212"), 
labels = c("Jan-2022", "Feb-2022",...,"Dec-2022"))

【问题讨论】:

标签: r parameters


【解决方案1】:
  1. 第一个目标可以参考评论中的链接。
  2. month.abb函数可以提供每个月的缩写。
YR = "2021"
levels <- sprintf('%s%02d', YR, 1:12)
levels
#>  [1] "202101" "202102" "202103" "202104" "202105" "202106" "202107" "202108"
#>  [9] "202109" "202110" "202111" "202112"
labels <- paste0(month.abb,"-",YR)
# or
# labels <- sprintf('%s%s%s',month.abb,"-",YR)
labels
#>  [1] "Jan-2021" "Feb-2021" "Mar-2021" "Apr-2021" "May-2021" "Jun-2021"
#>  [7] "Jul-2021" "Aug-2021" "Sep-2021" "Oct-2021" "Nov-2021" "Dec-2021"

reprex package (v2.0.0) 于 2021 年 4 月 29 日创建

【讨论】:

  • 虽然这段代码 sn-p 可以解决问题,including an explanation 确实有助于提高您的帖子质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。
  • 感谢您的通知。但有时代码本身带有必要的注释就足以解决某些特定问题。不是每个简单的代码都需要解释。如果我觉得很难理解,我会毫不犹豫地解释。
猜你喜欢
  • 2023-01-02
  • 1970-01-01
  • 2019-08-20
  • 1970-01-01
  • 2017-12-19
  • 1970-01-01
  • 1970-01-01
  • 2017-06-05
  • 1970-01-01
相关资源
最近更新 更多