簡體   English   中英

對矩陣使用 function 中的應用和復制

[英]Use Apply and Replicate in a function for a matrix

我有一個 N x N 數值矩陣,我將它轉換為 R 中的數據框,我需要將rnorm應用於每個單元格。 但是,我想使用applyreplicate來執行這個計算。 我當前在第一個單元格(具有標題)中的計算代碼是:

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.

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