У меня есть символьный вектор, вот так:
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 = ":")
}