簡體   English   中英

如何應用依賴於 R 中三個變量的 function?

[英]How to apply a function that depends on three variables in R?

我敢肯定以前有人問過這樣的問題。 但我努力尋找答案(甚至清楚地表達這個問題)。

如果我有 2 個變量,我想將 function 應用於每對這些變量,其中 function 取決於第三個變量。 例如,

如果我有一些看起來像這樣的數據:

x <- c(1:4)
y <- c(1,2)
n <- seq(1,200, length.out = 100)

現在,假設我想將rnorm應用於每對xy ,其中y是我的平均值, x是標准差。 但是我想遍歷這些對中的每一對,其中n的每個值都是我的觀察次數。

例如,我正在嘗試一個嵌套循環......下面的例子不起作用,但我希望它說明了我試圖實現的目標:

for(i in 1:2){
  for(j in 1:4){
    for(k in 1:length(n)){
    ans[] <- rnorm(n[k], y[i], x[j])
    }
  }
}

關於我如何實現這一目標的任何建議?

使用 expand.grid

z = expand.grid(n,x,y)
apply(z, 1, function(i) rnorm(i[1], i[2], i[3]))

暫無
暫無

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

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