两个变量阈值的函数

时间:2015-09-29 23:22:19

标签: r function if-statement

我正在尝试用两个变量编写一个函数。 m有四个类别:equal to 19 or less202122al有三个类别:less than 3030 to 400over 400

Input:
m=c(19,20,21,22)
al=c(30,400)

Output:
out1 <- c(0.95, 0.94. 0.93, 0.92)
out21 <- 1.091+3.02*(al-30)
out22 <- 1.093+3.03*(al-30)
out23<-  1.099+3.08*(al-30)
out24 <- 1

out3 <- c(0.87, 0.89, 0.91, 0.93)

我正在尝试使用if else编写一个看起来像

的函数
out <- function(m,al)
{ 
if(m<=19 & al<30){
  out=0.95     
} else {
  if(m=20 & al<30){
    out=0.94    
  } else {
    if(m=21 & al<30){
      out=0.93    
...

我喜欢看一个简单易用的功能,让我更容易输出。关于条件的进一步解释:

If m <=19 & al <30, out=0.95
If m =20 & al <30, out=0.94

...

If m <=19 & al in between 30 and 400, out=1.091+3.02*(al-30)
If m =20 & al in between 30 and 400, out=1.093+3.03*(al-30)
...

If m <=19 & al >400, out=0.87
If m =20 & al >400, out=0.89

0 个答案:

没有答案