내 질문에 dplyr 패키지에서 정렬 기능을 사용하여, 내가 그것에 대한 몇 가지 게시물을 보았지만 모두 그들과 함께 그룹 및 문제와 관련이 있고, 그냥 정렬 내가 문제가 원인이 될 것으로 보인다. 내 데이터의 일부 열만 올바르게 정렬합니다.arrange()가 값을 무시하는 이유는 무엇입니까? (그룹과 함께 사용하지 않음)
내 문제를 데이터로 재현 할 수 있는지 잘 모르겠으므로 here이 링크입니다. 그것은 care measures.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); [어느 .min (s), "hospital"]'? –
그래, 그게 내가 너무 얻을, 그것은 큰 볼티모어 의료 센터해야합니다. state_sorted를보고 결과 칼럼을 내려다 보면 인덱스 10 주변의 실제 최소값까지 점프 할 때까지 값이 증가하는 것을 볼 수 있습니다. 꼭지의 맨 윗부분이 잘리고 아래쪽에 붙어있는 것과 같습니다. – user3299824
문제는 숫자 열의 숫자가 아닌 숫자 값을 가지고 있으므로 전체 열이 문자로 읽히고 문자로 정렬되어 "10.1"< "2"(예 : –