簡體   English   中英

如何在觀察上運行 function 獲得多個結果?

[英]how to get multiple outcomes for running a function on observations?

我將如何多次運行它?

我有一個名為 percent_people 的變量,它查看變量國家/地區是否有 5000000 人,並且有一個名為 city_share 的變量查看每個城市的百分比份額,例如 London = 40%,百分比變量具有不同級別的多少他們可能會失業(即從 100% 到 75% 或 50% 或 25%),這些不同的百分比會如何影響失業率的變化?

但是,現在我只能引入一個 city_share 和一個 percent_people 變量。 我如何對其進行編碼,以便我可以遍歷每個變量的多個輸入?

現在我有以下內容:

library(dplyr)

Prediction <- function(city_share,
                       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,1)

我不確定這是否是你想要的,但如果你試圖讓 function 一次接受超過一個percent_people變量,你可以在 function 內部循環它,以便它可以接受百分比向量:

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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM