Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从R中的函数返回值_R - Fatal编程技术网

从R中的函数返回值

从R中的函数返回值,r,R,有时,在我编写并调用函数后,R studio控制台中的结果如下: > rankhospital("NC", "heart attack", "best") 未返回任何内容,也未发生任何错误 代码: rankhospital<-function(state, outcome, num="best") { a<-read.csv("outcome-of-care-measures.csv",na.string="Not Available") b<-subset(

有时,在我编写并调用函数后,R studio控制台中的结果如下:

> rankhospital("NC", "heart attack", "best")
未返回任何内容,也未发生任何错误

代码:

rankhospital<-function(state, outcome, num="best")
 {
  a<-read.csv("outcome-of-care-measures.csv",na.string="Not Available")
  b<-subset(a,a[,7]==state)

  if(outcome=="heart attack")
  {
   conv<-as.numeric(b[,11])
   min_num<-min(conv,na.rm = TRUE)
   min_row<-which(b[,11]==min_num)
   hosname<-b[min_row,2]
   hosname
  }

  if(outcome=="heart failure")
  {
   conv1<-as.numeric(b[,17])
   min_num1<-min(conv1,na.rm = TRUE)
   min_row1<-which(b[,17]==min_num1)
   hosname1<-b[min_row1,2]
   hosname1
  }

  if(outcome=="heart pneumonia")
   {
    conv2<-as.numeric(b[,23])
    min_num2<-min(conv2,na.rm = TRUE)
    min_row2<-which(b[,23]==min_num2)
    hosname2<-b[min_row2,2]
    hosname2
   }
}

rankhospital您可以使用
return(hosname)
return(hosname1)
return(hosname2)
返回值


rankhospitalTry将最后一行替换为
return(hosname)
return(hosname1)
return(hosname2)
。或者将
if
语句与
else if
连接起来
rankhospital<-function(state, outcome, num="best")
{
    a<-read.csv("outcome-of-care-measures.csv",na.string="Not Available")
    b<-subset(a,a[,7]==state)

    if(outcome=="heart attack")
    {
        conv<-as.numeric(b[,11])
        min_num<-min(conv,na.rm = TRUE)
        min_row<-which(b[,11]==min_num)
        hosname<-b[min_row,2]
        return(hosname)
    }

    if(outcome=="heart failure")
    {
        conv1<-as.numeric(b[,17])
        min_num1<-min(conv1,na.rm = TRUE)
        min_row1<-which(b[,17]==min_num1)
        hosname1<-b[min_row1,2]
        return(hosname1)
    }

    if(outcome=="heart pneumonia")
    {
        conv2<-as.numeric(b[,23])
        min_num2<-min(conv2,na.rm = TRUE)
        min_row2<-which(b[,23]==min_num2)
        hosname2<-b[min_row2,2]
        return(hosname2)
    }
}