2015-06-07 23 views
1

想象一下下面的非常簡單的數據集:直方圖的價值有多少次出現在數據集中

Variable 
A 
B 
B 
C 
D 
D 
D 
E 
F 
F 
F 

我想要得到的是這些值是如何經常出現頻率的直方圖。如果你只是在該數據上運行HIST(),您將獲得每個值計數,但我真正想要的是一樣的東西:

+ 
+ + 
+++ 
123 

但是,你知道,不是ASCII藝術。主要是它將數據集從變量特定頻率下降到「三個值出現一次,一個值出現兩次,兩個值出現三次」。

回答

3

使用嵌套調用table。下面是使用變量的例子來自iris

> table(iris$Sepal.Width)  
    2 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4 4.1 4.2 4.4 
    1 3 4 3 8 5 9 14 10 26 11 13 6 12 6 4 3 6 2 1 1 1 1 
> table(table(iris$Sepal.Width)) 
1 2 3 4 5 6 8 9 10 11 12 13 14 26 
5 1 3 2 1 3 1 1 1 1 1 1 1 1 

調用table一次告訴你每個值是如何頻繁地出現,該表上的調用table然後給你不同的計數的頻率。然後,您可以在第二臺的barplot,以可視化結果:

barplot(table(table(iris$Sepal.Width))) 

enter image description here

注:一般情況下hist是總結連續變量(在指定的數字或「箱」的大小),而barplot用於顯示計數。

0

它看起來像你想的莖和葉的情節,它可以與stem獲得。

+0

問題是莖和葉情節記錄每個可變的頻率。我在尋找的是「3次出現1次,1次出現2次,2次出現3次......」 – Fomite

1

您可以使用descr包達到預期的效果。下面

require(descr) 
data("mtcars") 
# Get the plot 
freq(mtcars$gear, plot = TRUE) 

代碼會給你這個圖表: Histogram - Freq.

+0

這是我對@HongOoi的評論,以保持劇情的價值。我正在積極努力不這樣做。 – Fomite

+0

@Fomite'table(mtcars $ gear)'怎麼樣,它會給你所需的數字。 – Konrad

+0

但是,使用出來的數據的第一列,並使*的直方圖*工作... – Fomite

2

您可以運行table,以tablulate所有數據,然後對hist,用您所需的符等:

hist(table(Variable)) 
相關問題