2016-05-25 12 views
0

以下のサンプルデータがあれば、一連のボックスプロットを生成したいと思います.1時間に1つは「使用量」列の分布を示しています。 私はこの問題をあまりにも長い間戦ってきました。私は、日時変数をボックスプロットのグループ化として使用できる適切な形式にする正しい構文を理解できません。私はPOSIXctやPOSIXltにいくつかの異なる方法を試しましたが、それを行った後でも、時間単位に分解する方法を理解することはできません。このデータセットの時間帯ごとにシリーズボックスプロットを生成するにはどうすればよいですか?

私はあなたの援助を大変うれしく思います。

例えば
df <- read.table(text="datetime,usage,available 
2016-05-25 10:00:59.000000,12,96 
      2016-05-25 09:00:59.000000,8,96 
      2016-05-25 08:00:59.000000,0,96 
      2016-05-25 07:00:59.000000,0,96 
      2016-05-25 06:00:59.000000,0,96 
      2016-05-25 05:00:59.000000,0,96 
      2016-05-25 04:00:59.000000,0,96 
      2016-05-25 03:00:59.000000,0,96 
      2016-05-25 02:00:59.000000,0,96 
      2016-05-25 01:00:59.000000,0,96 
      2016-05-25 00:00:59.000000,0,96 
      2016-05-24 23:00:59.000000,0,96 
      2016-05-24 22:00:59.000000,0,96 
      2016-05-24 21:00:59.000000,0,96 
      2016-05-24 20:00:59.000000,2,96 
      2016-05-24 19:00:59.000000,0,96 
      2016-05-24 18:00:59.000000,8,96 
      2016-05-24 17:00:59.000000,15,96 
      2016-05-24 16:00:59.000000,20,96 
      2016-05-24 15:00:59.000000,19,96 
      2016-05-24 14:00:59.000000,3,96 
      2016-05-24 13:00:59.000000,6,96 
      2016-05-24 12:00:59.000000,9,96 
      2016-05-24 11:00:59.000000,13,96 
      2016-05-24 10:00:59.000000,16,96 
      2016-05-24 09:00:59.000000,11,96 
      2016-05-24 08:00:59.000000,1,96 
      2016-05-24 07:00:59.000000,5,96 
      2016-05-24 06:00:59.000000,2,96 
      2016-05-24 05:00:59.000000,0,96 
      2016-05-24 04:00:59.000000,0,96 
      2016-05-24 03:00:59.000000,0,96 
      2016-05-24 02:00:59.000000,0,96 
      2016-05-24 01:00:59.000000,0,96 
      2016-05-24 00:00:59.000000,0,96 
      2016-05-23 23:00:59.000000,0,96 
      2016-05-23 22:00:59.000000,0,96 
      2016-05-23 21:00:59.000000,0,96 
      2016-05-23 20:00:59.000000,4,96 
      2016-05-23 19:00:59.000000,0,96 
      2016-05-23 18:00:59.000000,0,96 
      2016-05-23 17:00:59.000000,0,96 
      2016-05-23 16:00:59.000000,3,96 
      2016-05-23 15:00:59.000000,5,96 
      2016-05-23 14:00:59.000000,2,96 
      2016-05-23 13:00:59.000000,18,96 
      2016-05-23 12:00:59.000000,10,96 
      2016-05-23 11:00:59.000000,7,96 
      2016-05-23 10:00:59.000000,9,96 
      2016-05-23 09:00:59.000000,1,96 
      2016-05-23 08:00:59.000000,1,96 
      2016-05-23 07:00:59.000000,1,96 
      2016-05-23 06:00:59.000000,1,96 
      2016-05-23 05:00:59.000000,1,96 
      2016-05-23 04:00:59.000000,1,96 
      2016-05-23 03:00:59.000000,1,96 
      2016-05-23 02:00:59.000000,1,96 
      2016-05-23 01:00:59.000000,1,96 
      2016-05-23 00:00:59.000000,1,96", sep=",", header=T) 
+0

を与えます/ questions/22389553/how-to-make-a-timeseries-boxplot-in-r – Learner

答えて

3

df <- read.table(sep=",", header=T, text=" 
datetime,usage,available 
2016-05-25 10:00:59.000000,12,96 
2016-05-25 09:00:59.000000,8,96 
2016-05-25 08:00:59.000000,0,96 
2016-05-25 07:00:59.000000,0,96 
2016-05-25 06:00:59.000000,0,96 
2016-05-25 05:00:59.000000,0,96 
2016-05-25 04:00:59.000000,0,96 
2016-05-25 03:00:59.000000,0,96 
2016-05-25 02:00:59.000000,0,96 
2016-05-25 01:00:59.000000,0,96 
2016-05-25 00:00:59.000000,0,96 
2016-05-24 23:00:59.000000,0,96 
2016-05-24 22:00:59.000000,0,96 
2016-05-24 21:00:59.000000,0,96 
2016-05-24 20:00:59.000000,2,96 
2016-05-24 19:00:59.000000,0,96 
2016-05-24 18:00:59.000000,8,96 
2016-05-24 17:00:59.000000,15,96 
2016-05-24 16:00:59.000000,20,96 
2016-05-24 15:00:59.000000,19,96 
2016-05-24 14:00:59.000000,3,96 
2016-05-24 13:00:59.000000,6,96 
2016-05-24 12:00:59.000000,9,96 
2016-05-24 11:00:59.000000,13,96 
2016-05-24 10:00:59.000000,16,96 
2016-05-24 09:00:59.000000,11,96 
2016-05-24 08:00:59.000000,1,96 
2016-05-24 07:00:59.000000,5,96 
2016-05-24 06:00:59.000000,2,96 
2016-05-24 05:00:59.000000,0,96 
2016-05-24 04:00:59.000000,0,96 
2016-05-24 03:00:59.000000,0,96 
2016-05-24 02:00:59.000000,0,96 
2016-05-24 01:00:59.000000,0,96 
2016-05-24 00:00:59.000000,0,96 
2016-05-23 23:00:59.000000,0,96 
2016-05-23 22:00:59.000000,0,96 
2016-05-23 21:00:59.000000,0,96 
2016-05-23 20:00:59.000000,4,96 
2016-05-23 19:00:59.000000,0,96 
2016-05-23 18:00:59.000000,0,96 
2016-05-23 17:00:59.000000,0,96 
2016-05-23 16:00:59.000000,3,96 
2016-05-23 15:00:59.000000,5,96 
2016-05-23 14:00:59.000000,2,96 
2016-05-23 13:00:59.000000,18,96 
2016-05-23 12:00:59.000000,10,96 
2016-05-23 11:00:59.000000,7,96 
2016-05-23 10:00:59.000000,9,96 
2016-05-23 09:00:59.000000,1,96 
2016-05-23 08:00:59.000000,1,96 
2016-05-23 07:00:59.000000,1,96 
2016-05-23 06:00:59.000000,1,96 
2016-05-23 05:00:59.000000,1,96 
2016-05-23 04:00:59.000000,1,96 
2016-05-23 03:00:59.000000,1,96 
2016-05-23 02:00:59.000000,1,96 
2016-05-23 01:00:59.000000,1,96 
2016-05-23 00:00:59.000000,1,96") 
boxplot(df$usage~as.POSIXlt(df$datetime)$hour) 

私は数分に時間を変換し、最初の2つの列を保つ、ここhttp://stackoverflow.comになり

enter image description here

+0

私はそれを試みましたが、エラーのために、私は間違ったアプローチを取っていたと思いました。 sort.intで 'エラー(X、na.last = na.last、減少=減少、...): 'X' アトミックでなければなりませんがここで は、私が見ている出力であります警告メッセージ: 1:is.na内の(x):他に is.na()タイプ '言語' 2の(リストまたはベクトル)を非するために適用:is.naに(X) : .n() '言語'タイプの非(リストまたはベクトル)に適用されます。 – deinspanjer

+0

'str(df [、c(" datetime "、" usage ")])'の出力は何ですか? – lukeA

+0

申し訳ありませんが、フォローアップしていません。あなたがうまくいくと思われるソリューションを実演したので、私はそれに答えました。 – deinspanjer

関連する問題