【发布时间】:2019-12-02 19:08:27
【问题描述】:
我正在尝试对数据集(巴西的凶杀率)进行一些分析。数据很简单,但我正在学习,所以对我来说不是那么简单......在按年份、州和地区创建分组信息的子集之后,我仍然无法理解如何将这些子集分组为更大的子集(按地区划分的州) .我想将所有区域分组到一个更大的“子集”上,这样我就可以绘制信息,而不是让数据按状态显示,而是按区域显示。这可能既简单又愚蠢,但我浪费了几个小时谷歌搜索和尝试不同的代码,到目前为止没有任何效果。
North <- subset(Homicides, State == 'AM' | State == 'RR'| State == 'AP' | State == 'PA' | State == 'TO' | State == 'RO' | State == 'AC')
Northeast <- subset(Homicides, State == 'MA' | State == 'PI'| State == 'CE' | State == 'RN' | State == 'PE' | State == 'PB' | State == 'SE' | State == 'AL' | State == 'BA')
Midwest <- subset(Homicides, State == 'MT' | State == 'MS'| State == 'GO'| State == 'DF')
Southeast <- subset(Homicides, State == 'SP' | State == 'RJ'| State == 'ES'| State == 'MG')
South <- subset(Homicides, State == 'PR' | State == 'RS'| State == 'SC')
AllRegions <- # How to group them so I can plot correctly?
对于情节代码:
ggplot(Homicides, aes(x = Year, y = TotalRate, group = State, color = State)) + # Where state should be the regions instead
geom_line() +
geom_point(size = 1) +
ggtitle("Total Homicides") +
theme_hc() +
scale_colour_hc()
数据集文件的样子(便于理解)
State Year TotalRate FirearmsRate
1 AC 1979 34 13
2 AC 1980 26 12
3 AC 1981 28 8
4 AC 1982 41 18
5 AC 1983 33 12
6 AC 1984 36 13
【问题讨论】:
-
欢迎来到 SO。通过发布
dput(Homicides)的输出或者如果输出真的很长dput(head(Homicides),帮助我们帮助您。我认为您可以通过使用mutate和case_when的某种组合创建一个新列来解决这个问题。 -
所以你想有 x 个地块,其中 x 等于区域数?每个图只包含每个区域的状态子集?如果是,我认为
ggplot2::facet_wrap可能会有所帮助。相反,如果您只对在一张图中绘制区域感兴趣,我认为您应该首先按区域汇总数据;然后您可以按地区绘制一些汇总统计数据。 -
@GiovanniColitti 基本上我想要一个按地区而不是按州提供信息的单一情节。例如:南部地区包括 RS、SC 和 PR 州。如果我绘制所有状态,它很难阅读,信息太多......
-
@BenG 输出头低于
> dput(head(Homicides)) structure(list(State = structure(c(1L, 1L, 1L, 1L, 1L, 1L), .Label = c("AC", "AL", "AM", "AP", "BA", "CE", "DF", "ES", "GO", "MA", "MG", "MS", "MT", "PA", "PB", "PE", "PI", "PR", "RJ", "RN", "RO", "RR", "RS", "SC", "SE", "SP", "TO"), class = "factor"), Year = 1979:1984, TotalRate = c(34L, 26L, 28L, 41L, 33L, 36L), FirearmsRate = c(13L, 12L, 8L, 18L, 12L, 13L)), row.names = c(NA, 6L), class = "data.frame")的结果@