我有一个字符向量,如下所示:
test <- c(1, 7, 13, 19, 25, 31, 37)
我想返回中间的数字,如下所示:
"2:6" "8:12" "14:18" "20:24" "26:30" "32:36"
我成功地做到了,但它并不像我希望的那样健壮:
rangefunc <- function(x){
paste(x+1, x+5, sep = ":")
}
head(sapply(test, rangefunc))
显然,这是一个可行的解决方案,但对于数字之间的间隔在整个过程中不一致(例如,始终为 6)或间隔只是不同(即,不是 6)的情况,它不是面向未来的。为了处理我的字符向量中的这种潜在情况,我test
如何构造一个比以下更强大的函数:
rangefunc <- function(x){
paste(x+1, x+5, sep = ":")
}