我正在尝试理解 R while 循环中的一段代码,如果有人能帮助我,我将不胜感激。我在许多在线论坛(和谷歌搜索)中阅读了 R 逻辑运算符的解释,但无法理解以下代码。
认为:
c=1
while(c<=4){
c1=c-(c>2)*2
c2=1*(c<3)+2*(c>2)
AB=A[[c1]] * ((1-x)+x*B[[c2]])
c=c+1
}
我只对了解以下内容感兴趣。
c1=c-(c>2)*2
c2=1*(c<3)+2*(c>2)
我以前从未见过这种逻辑运算符的组合,如果有人能解释一下,我将不胜感激。非常感谢。
理解特定代码行或函数的作用的另一个通常明智的步骤是绘制它;因为你的while
循环只是增加c
每一步,然后计算c1
和c2
基于这些c
价值观,我们可以写两个函数
func_c1 <- function(c) c - (c > 2) * 2
func_c2 <- function(c) 1 * (c < 3) + 2 * (c > 2)
分别为不同的值返回c1
和。c2
c
然后我们可以为不同的值绘制c1
和; 你的循环考虑:c2
c
while
c = 1:4
data.frame(c = 1:4, c1 = func_c1(1:4), c2 = func_c2(1:4)) %>%
gather(param, val, -c) %>%
ggplot(aes(c, val, colour = param)) +
geom_point() +
geom_line()
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句