簡體   English   中英

如何在數組和矩陣上使用應用族函數而不是 R 中的 for 循環?

[英]How to use apply family functions on an array and a matrix instead of a for loop in R?

有沒有辦法在下面的代碼中使用類似應用的函數而不是 for 循環?

a <- array(rnorm(100,0,1), c(10, 5, 2)) ; a
b <- matrix(rnorm(20,0,1), 10, 2) ; b 

m <- matrix(NA, 10, 2) ; m
for (i in 1:2){ m[,i] <- fitted(lm(b[,i]~a[,,i])) }
m

非常感謝

您可以在此處使用sapply / lapply

m1 <- sapply(seq_len(ncol(b)), function(i) fitted(lm(b[,i]~a[,,i])))

seq_len(ncol(b))1:ncol(b) seq_len(ncol(b))創建一個序列,它類似於for循環中的1:2並且for循環和sapply的代碼保持不變。

暫無
暫無

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

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