[英]Use Apply and Replicate in a function for a matrix
我有一個 N x N 數值矩陣,我將它轉換為 R 中的數據框,我需要將rnorm
應用於每個單元格。 但是,我想使用apply
和replicate
來執行這個計算。 我當前在第一個單元格(具有標題)中的計算代碼是:
firstCell <- data.frame(
rnorm(1000, mean = matrixName[2,1], sd = 0.8*matrixName[2,1])
)
我嘗試先使用apply
matrixApply <- apply(
matrixName, c(1,2), function(x) rnorm(
1000,
mean = x,
sd = 0.8*x
)
)
現在,我想使用replicate
來復制同樣的計算 1000 次,從而得到這個 N x N 矩陣的 1000 個實例。 但是,當我使用以下代碼時,我只是得到相同的矩陣,重復 1000 次。
useReplicate <- replicate(n=1000, matrixApply, simplify=F)
replicate
重復一個表達式。 將表達式分配給 object matrixApply
,replicate 不知道matrixApply
是如何生成的。
你要:
useReplicate <- replicate(n=1000, apply(
matrixName, c(1,2), function(x) rnorm(
1000,
mean = x,
sd = 0.8*x
)
), simplify=F)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.