2017-04-21 22 views
0

棒グラフのy軸の特定の日付の日付数とグラフのx軸の日付を表示する棒グラフを作成したいと思います。同時に、私はバーをはいといいえのセクションに分割したいと思います。合計でR:棒グラフの日付をggplot2で表示する

Date,Hungry 
Friday, March 24, 2017 2:33:46 PM,Yes 
Friday, March 24, 2017 3:39:46 PM,No 
Friday, March 24, 2017 4:39:46 PM,Yes 
Friday, March 24, 2017 5:39:46 PM,No 
Friday, March 24, 2017 6:39:46 PM,Yes 
Friday, March 24, 2017 7:39:46 PM,Yes 
Saturday, March 25, 2017 9:41:00 AM,Yes 
Saturday, March 25, 2017 10:41:00 AM,Yes 
Saturday, March 25, 2017 11:41:00 AM,No 
Saturday, March 25, 2017 13:41:00 AM,No 
Saturday, March 25, 2017 14:41:00 AM,No 
Saturday, March 25, 2017 15:41:00 AM,Yes 
Saturday, March 25, 2017 16:41:00 AM,Yes 

、マーチ(4Yes/3NO)の26 3月(3Yes/3NO)の25と7日のエントリに6日のエントリが存在します。

Hungry 
^ 
| 
| 
| 
| 
9| 
|    _ 
| _   |n| 
| |n|  |o| 
5| |o|  |_| 
| |_|  |y| 
| |y|  |e| 
| |e|  |s| 
1|__|s|________|_|__________> 
          Date 

    2   2    
    4   5    
    M   M    
    A   A 
    R   R 
    C   C 
    H   H 

この一見単純な質問には申し訳ありません。

EDIT。 Adam Quekは私にdputというデータを提供するように頼んでいます。ここにはいくつかの行があります:

dat <- structure(list(Date = structure(1:4, .Label = c("Friday, March 24, 2017 4:39:46 PM", 
"Friday, March 24, 2017 7:21:33 PM", "Friday, March 24, 2017 7:21:51 PM", 
"Friday, March 24, 2017 7:22:00 PM", "Friday, March 24, 2017 7:22:14 PM", 
"Saturday, March 25, 2017 8:00:10 AM", "Saturday, March 25, 2017 8:00:25 AM", 
"Saturday, March 25, 2017 8:00:46 AM", "Saturday, March 25, 2017 8:01:02 AM", 
"Saturday, March 25, 2017 8:01:20 AM", "Saturday, March 25, 2017 8:01:37 AM", 
"Saturday, March 25, 2017 8:01:50 AM"), class = "factor"), Hungry = structure(c(2L, 
1L, 2L, 1L), .Label = c("No", "Yes"), class = "factor")), .Names = c("Date", 
"Hungry"), row.names = c(NA, 4L), class = "data.frame") 

答えて

1

ここでは、必要なものを簡単にプロットする方法を示します。

library(ggplot2) 
ggplot(dat, aes(date, fill=as.factor(hungry))) + 
     geom_bar() 

enter image description here

私は、データをリメイク:に日付を変更し

(I):

dat <- structure(list(date = structure(c(17249, 17249, 17249, 17249, 
17249, 17249, 17250, 17250, 17250, 17250, 17250, 17250, 17250 
), class = "Date"), hungry = structure(c(2L, 1L, 2L, 1L, 2L, 
2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L), .Label = c("No", "Yes"), class = "factor")), class = "data.frame", .Names = c("date", 
"hungry"), row.names = c(NA, -13L)) 

EDIT:新しいデータ例と

追加の入力Rの読みやすい日付形式のRヘルプファイルをチェックしてください日付/時刻形式の

dat$date <- as.Date(dat$Date, "%A, %B %d, %Y %X") 

(ii)上記のggplotと同様のプロット。

ggplot(dat, aes(date, fill=Hungry)) + 
     geom_bar() 

enter image description here

+0

あなたが提供するグラフは、私が探しています正確に何であり、あなたが示唆した上記のコードは、「最小限の作業例」のために望ましい結果を得る:-)お返事をいただき、ありがとうございます。残念ながら、私は膨大な量のデータを持っており、この方法で手動で変更することはできないので、私はそれを扱うことができません。 – Phhilip

+0

Rのデータを最初に読み取ることはできますか?通常のカンマ区切り形式やタブ区切り形式ではないので、そのまま提供しているデータは読み込めません(最初は手動で入力する必要があります)。多分、最初のダースまたは十二列のdata.frameの 'dput'を与えることができるなら、私はそれを動かすのを助けることができます。 –

+0

ご返信ありがとうございます。私は私のデータセットのいくつかの行を抽出し、質問に 'dput'を追加しました。あなたが求めていることを願っています。 – Phhilip

関連する問題