2017-06-16 4 views
0

でデータフレームをプロットすることはできません(これ以前の投稿で再現性の例を含めるのを忘れていました。) rがします。NAS

私は左の2つのデータフレームを合併し、かなり大規模なデータフレームを作るために参加します。私は現在、ggplot2を使ってデータフレームから2つのカラムをグラフ化しようとしていますが、そのうちの1つは正しくグラフ化されていないようです。 x値が400を超えるy値がたくさんあるにもかかわらず、x = 400で終わります。

ここにいくつかのサンプルデータがあります。これは大きなデータフレームのサンプルであるため、グラフは非常に奇妙に見えます。

irradiance <- data.frame(
    lambda = c(337, 337.5, 338, 400, 400.5, 401, 401.5, 650, 650.5, 651), 
    date = as.Date("2016-07-19"), 
    Local_irrad = c(.159, .175, .182, .315, .326, .335, .342, .248, .246, .248), 
    Global_horizn_irradiance = c(.4942, .5295, .5682, 1.232, NA, 1.281, NA, 1.249, NA, 1.326)) 

lambda date  Local_irrad Global_horizn_irradiance 
337  7/19/2016 0.159  0.4942 
337.5 7/19/2016 0.175  0.5295 
338  7/19/2016 0.182  0.5682 
400  7/19/2016 0.315  1.232 
400.5 7/19/2016 0.326  NA 
401  7/19/2016 0.335  1.281 
401.5 7/19/2016 0.342  NA 
650  7/19/2016 0.248  1.249 
650.5 7/19/2016 0.246  NA 
651  7/19/2016 0.248  1.326 

多くのNA値がありますが、多くの「真」値もあります。多分、NAsが何とかそれを投げているのだろうか?グラフはあなたのデータとまったく同じではないかもしれません。あなたが見ることができるように、Global_horizo​​n_irradianceは400で終了: enter image description here

ここに私のコードです:

ggplot(irradiance, aes(x=lambda)) + geom_line(aes(y=Global_horizn_irradiance), color="red") + geom_line(aes(y=Local_irrad), color="blue") 
+5

行は連続する2つの非NA値によって定義され、NAはブレークを定義します。 400の後に2つの非NA連続値がありません。 –

+0

@StéphaneLaurentが正しいです。 2つの連続した非NA値がなければ、ラインが完全に停止することはわかりませんでした。その特定の値をスキップして後で再開すると思っていました。ありがとうございました!ステファン、答えとしてあなたのコメントを投稿すれば、私はそれを受け入れます。 – ale19

答えて

1

geom_lineNA値を無視するので、赤い線のx軸のマッピングが壊れています。あなたがそれらが一致したい場合は、代わりにgeom_pointを使用する必要があります:@StéphaneLaurentコメントとして

> ggplot(irradiance, aes(x=lambda)) + 
+ geom_point(aes(y=Global_horizn_irradiance), color="red") + 
+ geom_point(aes(y=Local_irrad), color="blue") 
Warning message: 
Removed 3 rows containing missing values (geom_point). #notice that your original call doesn't generate this warning 

1

は、geom_lineはNAのは、セグメントを分割してラインセグメントを定義します。

ggplot(irradiance, aes(x=lambda)) + geom_line(data=subset(irradiance, !is.na(Global_horizn_irradiance)), aes(y=Global_horizn_irradiance), color="red") + geom_line(aes(y=Local_irrad), color="blue") 
関連する問題