2011-12-28 50 views
1

我有以下data.frame:使用表到圖形

sample <- data.frame(day=c(1,2,5,10,12,12,14)) 
sample.table <- as.data.frame(table(sample$day)) 

現在,我想什麼做的是對計數的天圖中的一天,所以是這樣的:

require(ggplot2) 
qplot(Var1, Freq, data=sample.table) 

我意識到雖然Var1真的真的想成爲一個因素。這可以在很短的時間內正常工作,但是如果日子變得更大,因爲圖形變得不可讀,那麼這很糟糕。如果我將其更改爲數字或整數,則不是在x軸上繪製日,而是繪製日期的計數,例如, 1,2,3,4,5,6,7。

我能做到這一點,如果我有,比如5000天,它仍然是可見的呢?

回答

3

這是因爲當你使用table你得到一個向量與names(這是個字符),而當你轉換爲data.frame這些地轉化爲默認設置的因素。

您可以通過使用原始數據,並獲得ggplot2避免這種計數數據:

qplot(day, ..count.., data=sample, stat="bin", binwidth=1) 

或只使用一個直方圖,

qplot(day, data=sample, geom="histogram", binwidth=1) 

請注意,您可以調整binwidth參數數量較大的羣體。

+0

謝謝。我剛纔看到了這個。 – user592419 2012-01-03 07:18:54

1

爲此找出一個黑客。

as.integer(as.character(sample$day))