我知道这可能是一个简单的解决办法.我希望在下面的两个函数中添加一个循环.我在循环方面有很多麻烦.我认为基本 struct 就在那里;尽管我没有看到它.RptYr是一个四位数的年份(例如,2023年).

AcaS_Sem <- function(RptYr) {
  AcaS_1 <- paste0("Spring", " ", RptYr - 1)
  AcaS_2 <- paste0("Fall", " ", RptYr - 2)
  AcaS_3 <- paste0("Summer", " ", RptYr - 2)
  AcaS_comb <- c(AcaS_1, AcaS_2, AcaS_3)
  print(AcaS_comb)
}

第二个函数是

Enroll_Dem <- function(RptYr) {
  Enroll_Dem_1 <- paste0("Fall", " ", RptYr)
  Enroll_Dem_2 <- paste0("Summer", " ", RptYr)
  Enroll_Dem_3 <- paste0("Spring", " ", RptYr)
  Enroll_Dem_4 <- paste0("Fall", " ", RptYr - 1)
  Enroll_Dem_5 <- paste0("Summer", " ", RptYr - 1)
  Enroll_Dem_6 <- paste0("Spring", " ", RptYr - 1)
  Enroll_Dem_7 <- paste0("Fall", " ", RptYr - 2)
  Enroll_vec <- c(Enroll_Dem_1, Enroll_Dem_2, Enroll_Dem_3, Enroll_Dem_4, 
                  Enroll_Dem_5, Enroll_Dem_6, Enroll_Dem_7)
  print(Enroll_vec)
}

任何见解都将是最有帮助的.提前谢谢您!

推荐答案

要为这个作业(job)编写一个方便的函数f,它可能也涵盖这两个任务,您可以将一个序列一起paste,并从中提取一个具有特定起始值和终止值的向量.喜欢某物

> f <- \(RptYr, from, to) {
+   len <- to/3
+   ssns <- c('Fall', 'Summer', 'Spring')
+   yrsq <- seq.int(RptYr, by=-1, length.out=len)
+   do.call('paste', expand.grid(ssns, yrsq))[from:to]
+ }
> RptYr <- 2023
> f(RptYr - 1, from=3, to=5)
[1] "Spring 2022" "Fall 2021"   "Summer 2021"
> f(RptYr, 1, 7)
[1] "Fall 2023"   "Summer 2023" "Spring 2023" "Fall 2022"   "Summer 2022" "Spring 2022" "Fall 2021" 

R相关问答推荐

在R中查找每个组不同时间段的总天数

如何根据条件计算时差(天)

从开始时间和结束时间导出时间

用预测NLS处理R中生物学假设之上的误差传播

二维样条,严格以一个参数递增

错误:非常长的R行中出现意外符号

DEN扩展包中的RECT树形图出现异常行为

您是否可以将组添加到堆叠的柱状图

查找所有站点的最小值

如何使用同比折线图中的个别日

我如何使用tidyselect来传递一个符号数组,比如Pivot_Long?

从线的交点创建面

网络抓取新闻标题和时间

对R中的列表列执行ROW Mean操作

通过R:文件名未正确写入[已解决]将.nc文件转换和导出为.tif文件

如何将EC50值绘制在R中的剂量-react 曲线上?

在ggplot2图表中通过端点连接点

如何合并不同列表中的数据文件,包括基于名称的部分匹配,而不是一对一等价

如何将字符类对象中的数据转换为R中的字符串

修复标签重叠和ggploy内的空间