2017-12-26 31 views
0

私は1日に複数のデータポイントを持つ下記の様式化されたデータを収容する時系列ドットプロット(ボックスプロットではない)を作成するのに苦労しています。R 1日に複数の観測をプロットする

データにはまばらにデータが格納されていて、日付範囲内で数日間データが失われますが、狭い範囲のデータポイントには何百ものデータポイントが存在することがあります。 x軸は日付範囲全体にまたがっていなければならず、データを持たない日でもきれいな目盛りが含まれていなければなりません。

x軸のラベルが垂直に配置され、y軸のラベルが水平に配置されているといいです。

ggplot2、ts()、axis()の設定などで何とか時間を過ごして、うまくいきませんでした。 x軸は特に問題があります。

これは簡単だと思われますが、私はRノブです。

dt,  RotMarks 
2017-01-01, 1 
2017-01-01, 3 
2017-03-10, 2 
2017-03-10, 4 
2017-03-10, 6 
2017-06-15, 10 
2017-06-15, 15 
2017-09-20, 1 
2017-10-31, 12 
2017-10-31, 12 
2017-10-31, 12 
2017-10-31, 12 
2017-10-31, 12 
2017-10-31, 12 
2017-10-31, 12 
2017-10-31, 4 
2017-10-31, 4 
2017-10-31, 4 
2017-10-31, 4 
2017-10-31, 1 
2017-10-31, 1 
2017-10-31, 1 
2017-10-31, 1 
2017-12-31, 1 
2017-12-31, 1 
2017-12-31, 1 
+0

それはX軸ラベルを回転させる90°を読むために頭を傾けるあなたの聴衆を依頼するほとんど決して "良い" ません。 – hrbrmstr

+0

Rの小規模契約業務にご利用いただけますか? – rhk123

答えて

0

パッケージを使用したソリューション。私はそれがあまりにも混雑するので、各日付でx軸にラベルを付けるのは良いアイデアだとは思わない。この例では、日付区切りを「2週間」として使用していることがわかりますが、もう少し混雑しています。 date_labels = "%Y-%m-%d"は日付形式を指定することです。 axis.text.x = element_text(angle = 90, hjust = 1)は、xラベルを垂直に配置することです。

library(tidyverse) 

# Expand the data frame to full sequence of dates  
dat2 <- dat %>% 
    mutate(dt = as.Date(dt)) %>% 
    complete(dt = full_seq(dt, period = 1)) 

ggplot(dat2, aes(x = dt, y = RotMarks)) + 
    geom_point() + 
    scale_x_date(name = "Date", 
       date_labels = "%Y-%m-%d", 
       date_breaks = "2 weeks") + 
    theme(axis.text.x = element_text(angle = 90, hjust = 1)) 

enter image description here

DATA

dat <- read.csv(text = "dt,  RotMarks 
2017-01-01, 1 
       2017-01-01, 3 
       2017-03-10, 2 
       2017-03-10, 4 
       2017-03-10, 6 
       2017-06-15, 10 
       2017-06-15, 15 
       2017-09-20, 1 
       2017-10-31, 12 
       2017-10-31, 12 
       2017-10-31, 12 
       2017-10-31, 12 
       2017-10-31, 12 
       2017-10-31, 12 
       2017-10-31, 12 
       2017-10-31, 4 
       2017-10-31, 4 
       2017-10-31, 4 
       2017-10-31, 4 
       2017-10-31, 1 
       2017-10-31, 1 
       2017-10-31, 1 
       2017-10-31, 1 
       2017-12-31, 1 
       2017-12-31, 1 
       2017-12-31, 1", 
       header = TRUE, stringsAsFactors = FALSE) 
+0

私はこれが好きですが、実行するとRがこのエラーを生成します: 関数 "%>%"を見つけることができませんでした – rhk123

+0

tidyverseパッケージをロードしましたか? – www

+0

tidyverseがロードされました。 ありがとうございました – rhk123

関連する問題