我有2个矩阵,并基于这两个矩阵创建了另一个名为myDose
的空矩阵。然后,我使用嵌套的for
循环来计算Koff_m1
和Koff_m2
。然后,我将其乘以2以计算myDose
,该Koff_m1
必须是一个矩阵或数据框,其中包含所有值(在每次迭代之后)。问题是,我没有在实际情况下将Koff_m2
和for
乘以,而是将它们用作更复杂函数的输入,该函数与每个Koff_m1
迭代结合使用时会产生非常慢的输出。这就是为什么我更喜欢一种解决方案,其中要创建具有Koff_m2
和myDose
值的矩阵。然后,我可以用它来创建for
矩阵,而无需嵌套的Kd1Par<-as.matrix(c(1,2,3))
Kd2Par<-as.matrix(c(1,2,3))
myDose <- matrix(c(0), nrow= length(Kd1Par), ncol = length(Kd2Par))
for (i in 1:length(Kd1Par)){
for (j in 1:length(Kd2Par)){
#print(c(Kd1 = Kd1Par[i], Kd2 = Kd2Par[j]))
Kd1 <- Kd1Par[i]
Kd2 <- Kd2Par[j]
Koff_m1 <- 10*Kd1 # (1/day)
Koff_m2 = 10*Kd2 # (1/day)
myDose[i,j]<-Koff_m1*Koff_m2
#print(c(Dose = myDose[i,j]))
}
}
循环。
<!-- Alert Bar -->
<div class="marqueeWrapper" style="background-color: #D35400; height: 25px; margin-right: auto; margin-left: auto; z-index: 300; width: 100%;">
<p style="color: #FFF;">
<marquee>Here is your marquee example edit this text</marquee>
</p>
</div>
<!-- Alert Bar ends -->
答案 0 :(得分:2)
outer
myDose <- outer(as.numeric(Kd1Par), as.numeric(Kd2Par), function(x, y) 100 * x * y)
myDose
# [,1] [,2] [,3]
#[1,] 100 200 300
#[2,] 200 400 600
#[3,] 300 600 900