我重複超過10個函數,三次或更多次R中的每個函數!這是非常混亂和浪費我的時間。我理解應用函數的想法,但非常基本,需要幫助解決這個問題。如何在r中使用具有多個參數的函數列表的apply函數?
我有這些功能(我的全部功能的一部分):
sel_1 <- lower.tri(fam1) # selector for lower triangular matrix
if (check.pars & (any(fam1 != 0) | any(!is.na(par11)))) {
BiCopCheck(fam1[sel_1], par11[sel_1], par21[sel_1], call = match.call())
}
sel_2 <- lower.tri(fam2)
if (check.pars & (any(fam2 != 0) | any(!is.na(par11)))) {
BiCopCheck(fam2[sel_2], par12[sel_2], par22[sel_2], call = match.call())
}
sel_3 <- lower.tri(fam3)
if (check.pars & (any(fam3 != 0) | any(!is.na(par13)))) {
BiCopCheck(fam3[sel_3], par13[sel_3], par23[sel_3], call = match.call())
}
MixRVM1 <- list(Matrix = Matrix,
fam1 = fam1,
par11 = par11,
par21 = par21,
names = names,
MaxMat = MaxMat,
CondDistr = CondDistr)
MixRVM12 <- list(Matrix = Matrix,
fam2 = fam2,
par12 = par12,
par22 = par22,
names = names,
MaxMat = MaxMat,
CondDistr = CondDistr)
有一種簡單的方法來重複這些功能呢?
可以使用mapply功能 –
把所有的十大功能在一個功能? – Jimbou
我想你在第6行有一個錯字,不應該是'is.na(par12)'嗎?另外,你似乎給MaxMat1等和ConDistr1等分配了相同的值3次。如果數據不是結構化的,你應該儘可能使用列表和數組,如果你的數據沒有結構化,你就不能使用利用對象結構的函數。 –