如何在面板数据中为不同年份创建单独的直方图?

时间:2017-03-08 22:33:59

标签: r

我有一个数据框报纸,每年包含一套报纸的发行量($ CIRC)。我想看看这些数字的分布如何随时间而变化。所以我想为这些不同的年份创建多个独立的直方图。

我尝试了以下内容:

ggplot(newspaper_yearly,aes(x=CIRC))+geom_histogram()+facet_grid(~YEAR==2004)+theme_bw()

但是这显示了两个直方图,一个是YEAR == 2004为真,另一个是YEAR = 2004不是真的。我想只看到YEAR = 2004为真时的直方图。

编辑: 这是基本数据结构的清理样本:

      YEAR   CIRC
45938 1972  16557
10396 1900   2320
56311 2000   1195
1002  1872   1200
53335 1992  17764
7376  1896   1760
30101 1940 100651
18633 1916  11956
3171  1884   1900
54022 1992   5530
38751 1956   8006
42125 1964  10208
636   1872   1500
48706 1980  18830
22497 1924     NA
28024 1936   7211
7684  1896  21752
56087 2000 107129
43935 1968   9288
34692 1948   5083

我知道我可以像这样制作一个子集(这实际上是我想要的结果),但我想绕过每一年制作一个子集。

datahist2000 <- newspaper_yearly[ which(newspaper_yearly$YEAR == "2000"), ]
hist(datahist2000$CIRC)

2 个答案:

答案 0 :(得分:0)

这样的事情可能有所帮助。

par(mfrow=c(3,3))
for(i in levels(d$YEAR)){
datahist <- d[which(d$YEAR == i), ]
hist(datahist$CIRC)}

我使用你的子集方法用for循环来解决问题。我不太清楚你是否想要完成这件事。我认为“CIRC&#39;”中有很多条目。每年,对吧?否则,单独的图表没有多大意义,至少不是您提供的数据。

答案 1 :(得分:0)

如果我正确理解了这个问题,你想分别每年的直方图吗?在这种情况下,你可以简单地做

from selenium import webdriver from selenium.common.exceptions import NoSuchElementException driver.Firefox() # or whatever webdriver you're using driver.get(url that you are going to) while True: try: driver.find_element_by_partial_link_text("Schott"): except NoSuchElementException: driver.refresh else: driver.find_element_by_partial_link_text("Schott").click() break

如果您希望以更复杂的方式对年份进行分组,我建议您添加一个新的变量组,例如以下

ggplot(newspaper_yearly, aes(x = CIRC)) + geom_histogram() + facet_grid(~YEAR) + theme_bw()