Я не уверен, что это то, что вы хотите, но если вы пытаетесь заставить функцию принимать более одной percent_people
переменной одновременно, вы можете oop использовать ее внутри функции, чтобы она могла принять вектор процентов:
library(dplyr)
library(magrittr)
Prediction <- function(city_share,
percent_people) {
unemprates <- c()
for (i in percent_people){
unemployed_lon <-5000000 %>%
multiply_by(city_share) %>%
multiply_by(percent_people)
unemp <- 100000 +unemployed_lon
unemprate <- unemp %>% divide_by(5000000)
}
return(unemprate)
}
# Check -0.4 share + 100% percent_people
Prediction(0.4,c(1,0.5,0.25))
Prediction(0.4,1)
Если вы хотите, чтобы он также возвращал результат нескольких city_share
входов, я думаю, что вам, вероятно, потребуется переключиться на списки. Приведенный ниже код может быть не идеальным, но он возвращает один список значений для каждого введенного city_share.
library(dplyr)
library(magrittr)
Prediction <- function(city_share,
percent_people) {
unemprates_all<-list()
for (i in city_share){
unemp_share <- c()
for (j in percent_people){
unemployed_lon <-5000000 %>%
multiply_by(i) %>%
multiply_by(j)
unemp <- 100000 + unemployed_lon
unemp <- unemp %>% divide_by(5000000)
unemp_share <- append(unemp_share,unemp)
}
unemprate <- list(unemp_share)
unemprates_all[[length(unemprates_all)+1]] <- unemprate
}
return(unemprates_all)
}
# Check -0.4 share + 100% percent_people
Prediction(c(0.4,0.2),c(1,0.5))
Prediction(0.4,1)