2017-02-11 8 views
0

毎日6ヶ月間(2016年8月〜2017年1月)のCSVファイルを毎日取得しています。私は基本的に毎月のデータの要約()をプロットする毎月のボックスプロットをプロットしたいと思います。はるかにきれいに見えるので、私はそれのためにggplot2を使用したいと思います。私は解決策のために釣りに出かけてきたが、多くを思いついたが、私が欲しいものを解決するようなものは何もない。ggplot2でCSVデータのボックスプロット

データの先頭と要約:私は同類をggplot方法でデータを再構築する必要がありますが、私はそれを行う方法がわからないんだけど集まってきたものから、

> wts <- read.csv('weights.csv', header=T, sep=',') 
> head(wts) 
    August.2016 September.2016 October.2016 November.2016 December.2016 January.2016 
1  254.2   250.0  248.2   245.8   245.6  244.4 
2  252.6   249.2  248.6   246.4   246.0  245.0 
3  251.8   250.6  249.2   248.0   246.4  244.3 
4  253.2   252.4  249.8   247.5   246.0  243.6 
5  252.2   250.6  248.8   247.0   246.0  242.6 
6  254.0   251.0  247.8   247.6   246.0  242.0 
> summary(wts) 
    August.2016 September.2016 October.2016 November.2016 December.2016 January.2016 
Min. :249.6 Min. :245.6 Min. :245.4 Min. :244.2 Min. :243.4 Min. :241.6 
1st Qu.:252.2 1st Qu.:248.3 1st Qu.:246.7 1st Qu.:246.2 1st Qu.:244.8 1st Qu.:242.9 
Median :252.8 Median :249.2 Median :247.8 Median :246.6 Median :245.6 Median :243.6 
Mean :252.7 Mean :249.1 Mean :247.6 Mean :246.7 Mean :245.3 Mean :243.5 
3rd Qu.:253.6 3rd Qu.:250.0 3rd Qu.:248.2 3rd Qu.:247.2 3rd Qu.:246.0 3rd Qu.:244.3 
Max. :255.2 Max. :252.4 Max. :249.8 Max. :248.6 Max. :247.0 Max. :245.0 
       NA's :1      NA's :1      NA's :1 

。私はまた、可能であればboxplotの平均値(実際の数値)を強調表示したいと思います。それをどうやって行うのか考えてもらえますか?

おかげ

答えて

1

同じパラダイムに滞在するには、あなたが長い形式にデータを再構築するためにtidyrパッケージからgather()を使用して、ggplot()に結果をプラグインすることができます。平均を表すテキストを追加するには、stat_summary()"text" geomに、mean関数をvalue変数に適用します。

library(tidyr) 
library(ggplot2) 

ggplot(gather(wts, factor_key = TRUE), 
    aes(key, value)) + 
    geom_boxplot() + 
    stat_summary(aes(label = ..y..), 
       fun.y = function(x) round(mean(x), 2), 
       geom = "text", 
       size = 3, 
       color = "red") 

enter image description here

+0

ありがとうございます。私は非有限の値を含む3行を削除する警告を受けました。 30日しかない月のNA値に対応するでしょうか(31日目はありません)? また、タイムラインは発注されません。あなたの例でも、2016年12月の後に8月が続きます。私が使うことができる順序付けられた方法のようなものがありますか? – shaun

+1

注文しました。注文は、gather(factor_key = TRUE)で保存することができます。私はまた、NAのデータを平均列重み(Rではなくcsv自体)で埋めました。平均を2桁の数字に丸める方法を理解する必要があります。 – shaun

+0

更新@shaun – mtoto

関連する問題