0

3 つのサイトの 1 日あたりのパス数の棒グラフを作成しようとしています。これが私の最初の作業です:

Test <- read.csv("Test.csv")
head(Test)
str(Test)

> head(Test)
      Date         Site Passes
1 20111223 Met Mast 10m      8
2 20111224 Met Mast 10m      4
3 20111225 Met Mast 10m     27
4 20111226 Met Mast 10m      4
5 20111227 Met Mast 10m     20
6 20111228 Met Mast 10m     11

> str(Test)
'data.frame':   26 obs. of  3 variables:
 $ Date  : int  20111223 20111224 20111225 20111226 20111227 20111228 20111229     
 20111230 20111231 20111223 ...
 $ Site  : Factor w/ 3 levels "Control","Met Mast 10m",..: 2 2 2 2 2 2 2 2 2 3 ...
 $ Passes: int  8 4 27 4 20 11 17 0 41 6 ...

私は ggplot を使用しているので、ライブラリをロードして qplot を使用します。

library(ggplot2)
qplot(Date, data=Test, geom ="bar", position="dodge", fill=Site, binwidth=0.5,    
weight = Passes) +
scale_y_continuous("Number of Passes") 

私は完璧なグラフを取得します (申し訳ありませんが、画像を投稿することはできません)。これは、x 軸の日付、y 軸のパス数、および隣り合わせにプロットされた 3 つの要因でまさに私が望むものです。伝説のある各日付。

データのサブセット (つまり、26 個の観測のみ) でメソッドとコードをテストし、どのように機能するかを確認しました。ここで、97 個の観測値で構成されるすべてのデータに対して同じグラフをプロットしたいと考えています。

問題:

すべてのデータに対してコードを実行すると、軸と凡例が正しくラベル付けされた空白のグラフが出力されます。x 軸では、日付形式が通常の 20111223 から 20112500 に変更されましたが、これは無意味であり、その理由はわかりません。

このフォーラムで ggplot2 と qplot の質問をたくさん読みましたが、同様の問題を抱えている人を見つけられませんでした。プロットが少数のデータ ポイントで動作するようになったので、x 軸スケールの問題である可能性があると思いますが、よくわかりません。プロットが空白なのはなぜですか?

助けてください :)

> dput(Test)
structure(list(Date = c(20111223L, 20111224L, 20111225L, 20111226L, 
20111227L, 20111228L, 20111229L, 20111230L, 20111231L, 20120101L, 
20120102L, 20120103L, 20120104L, 20120105L, 20120106L, 20120107L, 
20120108L, 20120109L, 20120110L, 20120111L, 20120112L, 20120113L, 
20120114L, 20120115L, 20120116L, 20120117L, 20120118L, 20120119L, 
20120120L, 20120121L, 20120122L, 20120123L, 20120124L, 20120125L, 
20120126L, 20120127L, 20111223L, 20111224L, 20111225L, 20111226L, 
20111227L, 20111228L, 20111229L, 20111230L, 20111231L, 20120101L, 
20120102L, 20120103L, 20120104L, 20120105L, 20120106L, 20120107L, 
20120108L, 20120109L, 20120110L, 20120111L, 20120112L, 20120113L, 
20120114L, 20120115L, 20120116L, 20120117L, 20120118L, 20120119L, 
20120120L, 20120121L, 20120122L, 20120123L, 20120124L, 20120125L, 
20120126L, 20120127L, 20111222L, 20111223L, 20111224L, 20111225L, 
20111226L, 20111227L, 20111228L, 20111229L, 20111230L, 20111231L, 
20120101L, 20120102L, 20120103L, 20120104L, 20120105L, 20120106L, 
20120107L, 20120108L, 20120109L, 20120110L, 20120111L, 20120112L, 
20120113L, 20120114L, 20120115L), Site = structure(c(2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("Control", 
"Met Mast 10m", "Met Mast 17m"), class = "factor"), Passes = c(8L, 
 4L, 27L, 4L, 20L, 11L, 17L, 0L, 41L, 6L, 9L, 29L, 38L, 5L, 38L, 
12L, 6L, 14L, 18L, 35L, 36L, 8L, 23L, 25L, 0L, 0L, 0L, 37L, 53L, 
59L, 205L, 15L, 2L, 14L, 6L, 6L, 6L, 6L, 29L, 4L, 26L, 12L, 12L, 
3L, 21L, 20L, 17L, 31L, 79L, 10L, 59L, 12L, 6L, 18L, 21L, 27L, 
31L, 14L, 40L, 37L, 0L, 0L, 0L, 52L, 52L, 63L, 0L, 30L, 2L, 14L, 
14L, 4L, 41L, 296L, 115L, 470L, 171L, 589L, 96L, 306L, 44L, 131L, 
244L, 75L, 217L, 252L, 304L, 313L, 250L, 315L, 121L, 298L, 247L, 
222L, 161L, 335L, 173L)), .Names = c("Date", "Site", "Passes"
), class = "data.frame", row.names = c(NA, -97L))
4

1 に答える 1

1

データのサブセットで機能する場合は、データに予期しないものがある可能性が最も高いです (NA など)。データを見ずに何が起こっているのかを正確に知ることはできません。でデータを提供するとdput(data)、より良い答えが得られる場合があります。

于 2013-07-05T10:37:50.697 に答える