私はdplyrパッケージのアレンジ機能を使用していましたが、いくつかの記事を見ましたが、それらのすべてがグループ別の問題に関わり、手配してくれています。私のデータのいくつかの列を正しくソートするだけです。アレンジ()が値を無視するのはなぜですか? (グループでは使用しません)
私の問題をデータで再現できるかどうかわからないので、hereはそのデータへのリンクです。これは、ケア対策の結果と呼ばれるファイルです.csvは、病院のデータフレームおよびその他の健康関連変数です。私は、与えられた入力状態において3つの健康状態のうちの最低30日間死亡率を有する病院に戻すことになっている機能を最高に書いた。
私はデータを読み、このような関連する列をいつ読みたいのかの名前を割り当てます。
best<-function(ST, outcome){
library(dyplr)
data<-read.csv("outcome-of-care-measures.csv", na.strings = "Not available", stringsAsFactors = FALSE)
outcomes<-c("heart attack"=11, "heart failure"=17, "pneumonia"=23)
次に、入力健康状態の死亡率が最も低い病院を見つけるブランチが3つあります。私の最初のブランチはうまく機能し、機能していないブランチとは区別できません。下のブランチは、出力列が正しくソートされていないデータを返します。
if (outcome=="pneumonia"){
rel_data<-data[, c(2,7,outcomes["pneumonia"])]
names(rel_data)<-c("hospital", "state", "outcome")
sorted<- arrange(rel_data, state, outcome, hospital)
state_sorted<-subset(sorted, state==ST)
print(state_sorted$hospital[1])}}
私がベスト(「MD」、「肺炎」)と呼ぶと、それは最初のものではなく10番目の病院を返します。 1から9までの目印がこの柱の上部から切り取られ、柱の底に貼り付けられたように見えます。どんな考えが間違っているのでしょうか?私が「肺炎」の代わりに「心臓発作」を入力すると、その列はちょうど良いソートされているように見え、正しい出力が得られます。私は唯一の違いは "心臓発作"ではなく "肺炎"であることを100%確信しています。
は私のために動作するようです。私は "CALVERT MEMORIAL HOSPITAL"を手に入れます。PSなぜ 's < - subset(rel_data、state == ST);を使わないのですか? [病院、病院、病院] –
それは私があまりにも得ている、それは大きいバルティモア医療センターでなければなりません。あなたがstate_sortedを見て結果のcolを下回ると、インデックス10の周りの実際の最小値にジャンプするまで値が増加することがわかります。それは、列の上部が切り取られ、下部に取り付けられたようなものです。 – user3299824
数字列に数値以外の値があるので、列全体が文字として読み込まれて文字としてソートされるため、 "10.1" <"2"(たとえば) –