【发布时间】:2020-06-20 19:45:32
【问题描述】:
我正在尝试在 R 中完成 coursera 作业。我的代码在作业 1 中正常工作,我在 R 中编写了一个函数来对医院进行排名;在作业 2 中,我必须在已经编写的函数中添加一些 IF 或 IF ELSE IF 语句。
函数给出最终的数据帧。
- 如果输入参数
num==best,函数返回最终数据帧的第一行 - 如果输入参数
num==worst,函数返回最终数据帧的最后一行 - 如果最终数据帧的输入参数
num > max row count,函数返回NA - 如果输入参数
num< max row count,函数从数据框中返回该行
现在,if 语句仅适用于场景 3 和 4。对于场景 1 和 2,它返回 NA-,即场景 3 的返回值。
我编写 IF 语句的方式有问题(可以是序列或条件或其他内容),因此我得到了场景 1,2 的 NA 返回值
代码如下,TIA
outcomeDF<-outcome[,c(2,7,n)]
names(outcomeDF)<-c("Hospital","State","Outcomess")
finalDF<-filter(outcomeDF,outcomeDF$State==sta)
DFSlist<-arrange(finalDF,finalDF$State,finalDF$Outcomess,finalDF$Hospital)
if (num > nrow(DFSlist)) print ("NA")
else if (num < nrow(DFSlist)) c<-(DFSlist[num,])
else if (num =="best")c<-(DFSlist[1,])
else (num =="worst")c<-(DFSlist[(nrow(DFSlist)),])
return(c)
【问题讨论】:
-
else (num =="worst")将不起作用,因为else没有条件。在这里你又需要一个if-statement。 -
谢谢。将在Else旁边取出条件
标签: r if-statement