[英]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
應用於每對x
和y
,其中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.