У меня есть две функции R. first one выводит data.frame
.Первый столбец этого вывода используется внутри функции second .
В частности, функция second принимает аргумент long
, который может быть любым числовым вектором, например 2, 2, 3
любой длины.Затем функция выводит соответствующий элемент из первого столбца первой функции, выведенной data.frame
.
Например, если long = c(1, 3, 2)
, то вторая функция назначает первый элемент вывода первой функции 1
, если 2
второй элемент первой функции в 2
и т. д.
Q: Аргумент long
может иметь любую длину, как я могу управлятьтребуется ifelse
заявления?( см. Вторую функцию ниже )?
## First function: #==================================
reg <- function(steps, r){
x <- diag(steps+1)
data.frame(r^abs(row(x)-col(x)))
}
## Second function: #==================================
foo <- function(long = c(1, 3, 2), r = .5){
g <- reg(max(long, na.rm = T), r)[,1][-1] ## from the first function
r <- ifelse(long == 1, g[1], ifelse(long == 2) g[2] # . . . ## if. . . how many ifelse needed?
return(r)
}