2017-03-08 15 views
2

私は1年に1セットの新聞の回覧($ CIRC)を含むnewspaper_yearlyというデータフレームを持っています。私はこれらの数値の分布が時間とともにどのように変化するかを見たいと思っています。ですから、私はこれらの異なる年のために複数の別々のヒストグラムを作成したいと思います。パネルデータの異なる年に別々のヒストグラムを作成するにはどうすればいいですか?

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

しかし、これは二つのヒストグラムを示し、YEARの== 2004が真である1、およびYEAR = 2004が真ではありません1:

は、私は、次の試してみました。私は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 

私はちょうど(事実、私が望む結果である)このようなサブセットを作ることができる理解し、私は回避したいです1年ごとにサブセットを作成します。

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

することができますように新しい変数グループを、追加することをお勧めします生データのサンプルを共有 – putonspectacles

+0

難しい...私はNDAに署名しました。私ができることを見てみましょう。 – TheCurlyManLives

+0

データの構造をハイライト表示するサンプルでは、​​細かいことがあります – putonspectacles

答えて

0

このようなものが役立ちます。

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

私はあなたのサブセットアプローチを使用して、forループの問題を解決しました。私はあなたが達成しようとしているものなのかどうかはよく分かりません。私は年に「CIRC」のエントリがかなりあると思います。さもなければ、あなたが提供したデータではないにしても、別々のプロットはあまり意味がありません。

0

私が質問を正しく理解していれば、毎年ヒストグラムが必要でしょうか?あなたは、単に場合

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

を行うことができ、その場合には、あなたがより複雑な方法でグループの年にしたい、私は、次の

group_year<- function(year){ 
    if (year >= 1900 && year < 1980) return ("1900 - 1980") 
    if (year >= 1980 && year < 2020) return ("1980 - 2020") 
    return ("default") 
} 
newspaper_yearly$group = sapply(newspaper_yearly$YEAR, group_year) 
ggplot(newspaper_yearly, aes(x = CIRC)) + geom_histogram() + facet_grid(~group) + theme_bw() 
関連する問題