그림과 같이 그래프를 생성하는 방법을 알려주시겠습니까? 각 도시의 상위 2 개 지역 (중위 주택 가격을 기준으로 한 상위 2 개 지역) 만 선택하고 평균 가격을 표시하려고합니다. 물론 막대의 색상이 다르면 훨씬 좋습니다. (중위 가격을 수동으로 생성하여 Excel로 플로팅하므로 실제 값을 나타내지 않습니다.)
glimpse(CityNeighbourhoodPrice)
Observations: 37,245
Variables: 3
$ City <fct> Amsterdam, Amsterdam, Amsterdam...
$ Neighbourhood <fct> A,B,C,D,E,F,G,H,I,J,K...
$ Price <int> 970, 1320, 2060, 2480, 1070, 12...
지금까지 내 코드는 다음과 같습니다 (작동하지 않음).
CityNeighbourhoodPrice %>%
group_by(Neighbourhood) %>%
count(n) %>%
top_n(2, MedPrice) %>%
summarise(MedPrice = median(Price, na.rm = TRUE)) %>%
ggplot(aes(x = reorder(Neighbourhood,-MedPrice), y = MedPrice)) +
geom_col(fill = "tomato3", width = 0.5)+
labs(title="Ordered Bar Chart",
subtitle="Average Price by each Property Type",
caption="Image: 5") +
theme(axis.text.x = element_text(angle=65, vjust=0.6))
임의의 예제 데이터를 사용하여 다음을 시도하십시오.
# Example data
set.seed(42)
CityNeighbourhoodPrice <- data.frame(
City = rep(c("Amsterdam", "Berlin", "Edinburgh"), each = 30),
Neighbourhood = rep(sample(LETTERS[1:5], 30, replace = TRUE), 3),
Price = 3000 * runif(3 * 30)
)
library(ggplot2)
library(dplyr)
library(forcats)
# Plot
CityNeighbourhoodPrice %>%
group_by(City, Neighbourhood) %>%
summarise(MedPrice = median(Price, na.rm = TRUE)) %>%
top_n(2, MedPrice) %>%
ungroup() %>%
arrange(City, MedPrice) %>%
mutate(City_Neighbourhood = paste0(Neighbourhood, "\n", City),
City_Neighbourhood = forcats::fct_inorder(City_Neighbourhood)) %>%
ggplot(aes(x = City_Neighbourhood, y = MedPrice)) +
geom_col(fill = "tomato3", width = 0.5)+
labs(title="Ordered Bar Chart",
subtitle="Average Price by each Property Type",
caption="Image: 5") +
theme(axis.text.x = element_text(angle=65, vjust=0.6))
reprex 패키지 (v0.3.0)에 의해 2020-04-20에 생성됨
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다