简单和短的if语句的组合语句

时间:2010-03-18 21:04:06

标签: r if-statement

如果在R中容易且快速地完成了从句,则为 TRUE / FALSE。但是,如果参数变得更复杂,它也会很快变得丑陋。

例如: 我可能希望根据一个单元格(foo[1])中的值对行(foo)执行不同的操作。 设间距为0:39和40:59以及60:100

有些事情不会退出:

(if foo[1] "in" 40:60){...

实际上,我只看到至少两个if子句和两个else语句以及代码底部某处的第一个间隔的动作。随着间隔时间(或任何其他条件)越来越复杂。

是否有最佳实践(为此目的或其他目的)具有简单的结构和漂亮的设计阅读?

2 个答案:

答案 0 :(得分:1)

不完全确定,但我建议使用类似的东西:

f <- approxfun(0:100,c(rep(1,40),rep(2,20),rep(3,41)),method="c")
fac <- f(foo)
tapply(foo,fac,FUN,...)

你可以使用任何功能FUN。

答案 1 :(得分:0)

不完全听从您的问题。你在寻找转换声明吗?看看这个例子:

ccc <- c("b","QQ","a","A","bb")
for(ch in ccc)
     cat(ch,":",switch(EXPR = ch, a=1,     b=2:3), "\n")