【发布时间】:2016-05-14 06:23:34
【问题描述】:
这里我得到包含 4706 个观察值的 csv 文件,然后我需要构建一个“最佳主机”函数,该函数基于状态和关键字用户输入来计算不同医院不同医院的最小心脏病发作、心力衰竭、肺炎发病率状态,然后按升序返回第一个医院名称。
下面是我写的部分代码,但是我一直在纠结如何根据状态用户输入计算最小值。例如,如果用户输入 NY,则找到最低心脏病发作率,然后返回 NY 的医院名称
best<-function(state,outcome){
a<-read.csv("outcome-of-care-measures.csv",na.string="Not Available")
if(!state %in% a[,7])
print ("invalid state")
if(outcome=="heart attack")
bd<-suppressWarnings(as.numeric(as.character(a[,11])))
....
}
数据样本可能是这样的:
Hospital State deaths in heart attack deaths in heart failure
L hospital NY 10.1 10.2
S hospital NY 10.2 10.5
M hospital AZ 18.0 14.5
Z hospital AZ 14.0 14.5
预期结果是:
best("NY", "heart attack")
[1] L Hospital
best("AZ", "heart failure")
[1] "M Hostpital"
请注意,文件中的心脏病发作率是factor 变量,所以我需要将其转换为numeric,如何进行?谢谢!
【问题讨论】:
-
我已经添加了示例文件和预期结果,对不起,我会更加注意。