2016-06-29 2 views
0
stackedBarChart <- read.csv("StackedBarChart.csv") 
ggplot(stackedBarChart, aes(x=FieldName, y=Quantity, fill=Decision)) + geom_bar(stat='identity') 
stackedBarChart %>% arrange(quantity) 

내가 원하는 것은 필드를 합계로 정렬하는 것입니다. 이것은 내가 시도 코드이지만,집계 필드로 정렬하기 R

FieldName Quantity Decision 
Issue1 175 Rejected 
Issue1 117 Accepted 
Issue2 238 Rejected 
Issue2 10  Accepted 

감사를

by_field_name <- group_by(stackedBarChart, FieldName) 
summarise(by_field_name, sum(Quantity)) 
여기

내 데이터 세트에서 라인이 작동하지 않습니다!

답변

0

나는 이것을 요인으로 취급하고 수준의 순서를 설정하는 것이 좋습니다.

stackedBarChart %>% 
mutate(FieldName = factor(FieldName), 
     FieldName = reorder(FieldName, Quantity, FUN = sum)) %>% 
arrange(FieldName) 

위해 요소의 수준을 갖는 것은 또한 순서를 알고 ggplot을하는 가장 좋은 방법입니다.

+0

문제는 누적 막 대형 차트 문제입니다. 각 고유 필드를 Issue1, Issue2 등의 합계로 정렬하고 싶습니다. 따라서이 경우 175 + 117 = 292와 2 (238 + 10-248)가됩니다. –

+0

이것이이 코드의 기능입니다. (나는 다른 수의 필드를 가진 필드를 가질 수 있도록 기본적으로'FUN = sum'을 추가했습니다. 기본적으로 이것은 수단에 의해 정렬되었습니다.) 디폴트 정렬 순서는 항상 가장 낮은 것부터 시작됩니다 (1은 2보다 앞에, a는 b보다 앞에옵니다). 이를 반대로하고 싶다면 코드에서'Quantity'를'-Quantity'로 변경하십시오. – Gregor

+0

감사합니다. 나는 이것을 시도하고 다시보고 할 것이다. –