我有一个 data.frame (比如“df”),如下所示:
Hospital.Name | State | Mortality.Rate
'hospital_1' | 'AA' | 0.2
'hospital_2' | 'AA' | 0.3
'hospital_3' | 'BB' | 0.3
'hospital_4' | 'CC' | 0.5
(医院.名称是唯一的)
现在我想按“State”对“Mortality.Rate”组进行排序,即对某个州内的死亡率进行排序。如果费率存在平局,则使用“Hospital.Name”来解决平局。
我想到了“order()”和“tapply()”函数。我这样编码:
tapply(df$Mortality.Rate, df$State, order, df$Hospital.Name, na.last=NA)
但是,弹出错误“参数长度不同”。当“order”函数应用于切片“Rate”时,order 的第二个参数(即 df$Hospital.Name)不会被切片。
我如何将第二个参数(用于解决排序中的平局)传递给tapply()或者还有其他方法吗?
在基本 R 中,您可以提供多个参数order()
后续参数用于打破前面变量中的关系,如下所示:
df[order(df$State,df$Mortality.Rate,df$Hospital.Name),]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)