我正在尝试编写一个R脚本来根据拟合范围内的值来评估不同的表达式。这个想法是,如果长度在一个范围内,它将被单向评估,如果长度在一个更长的范围内,它将得到不同的评估。比较R switch语句
我可以使用if/else语句来完成这项工作,但它非常难看,而且我确定必须有更好的方法......这里是可用的代码。
Length=8.2
if (Length<1)
mode="Walk"
else if (1<=Length & Length <5)
mode="bike"
else if (5<=Length & Length <10)
mode="drive"
else if (Length>=10)
mode="fly"
我一直在试图与开关功能的东西的工作,但它似乎只能用文字或整数......工作是有办法有,在每种情况下,这样进行评价switch语句这样?
Length=3.5
switch(Length,
(Length<1) mode="Walk"
(1<=Length & Length <5) mode="bike"
(5<=Length & Length <10) mode="drive"
(Length=>10) mode="fly"
)
不知道它是否有帮助,但我提出了一个编辑“丑陋”的代码,使其不那么难看。 – Superbest
这里给出了一个使用'switch()'和'match()'的解决方案(2014年晚些时候):http://stackoverflow.com/a/27279612/1103558 – noumenal