1
> str(b)
'data.frame': 2720 obs. of 3 variables:
$ State : chr "AL" "AL" "AL" "AL" ...
$ Hospital.Name: chr "SOUTHEAST ALABAMA MEDICAL CENTER" "MARSHALL MEDICAL
CENTER SOUTH" "ELIZA COFFEE MEMORIAL HOSPITAL" "ST VINCENT'S EAST" ...
$ heart attack : num 14.3 18.5 18.1 17.7 18 15.9 19.6 17.3 17.8 17.5 ...
위 내 데이터 프레임입니다. 나는 상태로 그룹을 원하는 각 그룹 내에서 심장 마비로 순위를 실시, 그래서 내 같은 코드 :그룹 내의 순위는
> c
# A tibble: 2,720 x 4
# Groups: State [54]
State Hospital.Name `heart attack` rank
<chr> <chr> <dbl> <int>
1 AL SOUTHEAST ALABAMA MEDICAL CENTER 14.3 1
2 AL MARSHALL MEDICAL CENTER SOUTH 18.5 1
3 AL ELIZA COFFEE MEMORIAL HOSPITAL 18.1 1
4 AL ST VINCENT'S EAST 17.7 1
5 AL DEKALB REGIONAL MEDICAL CENTER 18.0 1
6 AL SHELBY BAPTIST MEDICAL CENTER 15.9 1
7 AL HELEN KELLER MEMORIAL HOSPITAL 19.6 1
8 AL DALE MEDICAL CENTER 17.3 1
9 AL BAPTIST MEDICAL CENTER SOUTH 17.8 1
10 AL JACKSON HOSPITAL & CLINIC INC 17.5 1
# ... with 2,710 more rows
:
c <- group_by(b,State) %>%
mutate(rank = order(order('heart attack')))
하지만 동일한 순위 열의 모든 값 1 결과를 얻었다
왜 작동하지 않는지 알아낼 수 있습니까?
실행'순서 (순서 ('심장 마비'))'자체적으로 보면 길이가 1 인 문자 벡터를 전달하기 때문에 항상 1을 반환한다는 것을 알 수 있습니다. 작은 따옴표 (''') 대신 역 인용 부호 ('\'')를 사용한다고 가정합니다. – alistaire
^즉, R은 '심장 마비'를 열 이름으로 인식하지 못합니다. 그것은 너에게 _heart attack_이라는 단어의 순위를 매기려고한다고 생각한다. '심장 발작 '이라는 컬럼을 넣고 여분의'order()'를 꺼내면 잘 작동합니다. –