ggplot의 여러 연령대에서 질문에 대한 "예"답변의 백분율을 표시하고 싶다고 가정 해 보겠습니다. 이러한 연령대는 분명히 요인이지만, 규모와 같은 방식으로 표시되기를 원하므로 선 그래프를 사용하고 싶습니다.
다음은 몇 가지 데이터입니다.
mydata <- data.frame(
age_group = c("young", "middle", "old"),
question = sample(c("yes", "no"), 99, replace = TRUE))
mydata$age_group = factor(mydata$age_group,levels(mydata$age_group)[c(3, 1, 2)])
mydata$question = factor(mydata$question,levels(mydata$question)[c(2,1)])
지금까지이 코드를 사용하여 누적 막대 그래프를 생성했습니다.
ggplot(mydata, aes(age_group, fill = question)) + geom_bar(position = "fill")
"예"응답의 빈도 수만있는 선 그래프로 어떻게 변경할 수 있습니까? 답변의 Mark는 올바른 출력을 생성하는 해결 방법을 제안합니다.
하지만이 요약 테이블을 먼저 생성하는 대신 한 줄의 코드에서 자동으로이 작업을 수행 할 수있는 방법이 있었으면합니다.
각 범주에 대한 "예"의 백분율 만 원하면 데이터를 다음과 같이 변경하는 것이 좋습니다.
question age_group value percent
1 yes young 14 0.4242424
3 yes middle 17 0.5151515
5 yes old 20 0.6060606
이 코드를 사용하여 데이터 요약 :
library(reshape)
mydata.summary = melt(xtabs(~question+age_group,data=mydata))
mydata.summary2 = mydata.summary[mydata.summary$question=="yes",]
mydata.summary2$percent <- mydata.summary2$value/melt(xtabs(~age_group,data=mydata))$value
ggplot(mydata.summary2, aes(age_group,percent, group = question, colour=question)) + geom_line()
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다