【发布时间】:2023-03-10 18:55:01
【问题描述】:
我想创建一个函数,它采用给定参数的各种值和任意数量的子集。例如,在以下函数中,我希望该函数采用“yr”的任何排列,包括其中的多个:
set.seed(123)
frame <- data.frame(yr = sample(seq(2000,2004,1), 100, replace =TRUE), x = rnorm(100), y = rnorm(100))
sum.fun <- function(frame, year){
print(sum(frame[frame$yr == year,]$x))
}
sum.fun(frame, "2002")
sum.fun(frame, "2004")
sum.fun(frame, c("2002", "2004"))
然而,最后一行实际上并没有给出 2002 年和 2004 年的总和。关于如何更改函数以使其可以采用任何“年”范围的想法有什么想法吗?谢谢。
【问题讨论】:
-
为什么要在
2002或c(2002, 2004)周围加上引号?