值在数据集

时间:2015-06-07 19:35:00

标签: r histogram

想象一下以下非常简单的数据集:

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

我想要得到的是这些值出现频率频率的直方图。如果您只对该数据运行hist(),那么您将获得每个值的计数,但我真正想要的是:

+
+ +
+++
123

但是,你知道,不是ASCII艺术。主要是,它将数据集从可变的特定频率折叠到说"三个值出现一次,一个值出现两次,两个值出现三次。"

4 个答案:

答案 0 :(得分: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用于汇总连续变量(指定数量或大小的" bins"),而barplot用于显示计数。

答案 1 :(得分:2)

您可以运行table,对所有数据进行拼写,然后使用您想要的休息时间hist {/ 1>}:

hist(table(Variable))

答案 2 :(得分:1)

您可以使用descr包获得所需的结果。

下面的代码
require(descr)
data("mtcars")
# Get the plot
freq(mtcars$gear, plot = TRUE)

会给你这张图表: Histogram - Freq.

答案 3 :(得分:0)

看起来你想要一个茎叶图,可以用stem获得。