【问题标题】:Counting Occurences & Histogram Charts in RR中的计数出现次数和直方图
【发布时间】:2014-02-20 17:24:37
【问题描述】:

假设您有一个包含 2 个变量的数据框 - 姓名和年龄。姓名是班级因素和年龄编号。现在想象现在这个数据框中有成千上万的人。你好吗:

  1. 生成一个包含以下内容的表:NAME |每个名称的 COUNT(NAME) 唯一吗?

  2. 生成一个直方图,您可以在其中更改最小数量 出现在直方图中。?

对于第 2 部分,我希望能够测试不同的最小频率值并查看直方图的结果。或者有没有更好的方法务实地确定每个名字进入直方图的最小计数?

谢谢!

编辑:这是表格在 RDBS 中的样子:

NAME | COUNT(NAME)

John | 10
Bill | 24
Jane | 12
Tony | 50

伊曼纽尔| 1 ...

我想要做的是创建一个函数来绘制直方图,我可以在其中更改设置要绘制的最小频率的值。更有意义?

【问题讨论】:

  • 您已经尝试了哪些,哪些没有奏效,您希望在哪里获得帮助?哦,你有一些我们可以使用的数据吗?如需帮助,请参阅 stackoverflow.com/questions/5963269/…
  • 所以我刚刚找到了table() 函数,当你传递一个名称数组时,它会自动给你计数。我在那里应该很好。对于直方图,我使用的是plot(df.counts$NAME[which(df.counts > 10)]);,但这不起作用。
  • 根据您提供的内容,无法知道您的df.counts 是什么样的,也无法知道NAME 的元素是什么样的。假设您的初始 data.frame 是 d,并且名称在元素 name 中,请尝试 plot(as.table(table(d$name)[table(d$name) > 10]))

标签: r histogram frequency counting


【解决方案1】:
> x <- read.table(textConnection('
+    Name Age Gender Presents Behaviour
+ 1    John   9   male       25   naughty
+ 2     Bill   5   male       20      nice
+ 3     Jane  4 female       30      nice
+ 4     Jane  4 female       20      naughty
+ 5     Tony   4   male       34   naughty'
+ ), header=TRUE)
> 
> table(x$Name)

Bill Jane John Tony 
   1    2    1    1   
> layout(matrix(1:4, ncol = 2))
> plot(table(x$Name), main = "plot method for class \"table\"")
> barplot(table(x$Name), main = "barplot")
> tab <- as.numeric(table(x$Name))
> names(tab) <- names(table(x$Name))
> dotchart(tab, main = "dotchart or dotplot")
> ## or just this
> ## dotchart(table(dat))
> ## and ignore the warning
> layout(1)  

【讨论】:

  • 这是很棒的 prasanna,但我正在寻找可以自定义最小阈值的直方图(频率)图表。例如,如果数据框有 1000 条记录/观察,所有不同的名称,我想要一个图表来显示每个名称出现的次数,并且能够设置最小次数(那样我没有绘制每个只出现几次的名称)。有意义吗?
猜你喜欢
  • 1970-01-01
  • 2019-01-16
  • 1970-01-01
  • 2012-08-11
  • 2021-12-29
  • 2015-01-14
  • 1970-01-01
  • 2015-03-04
  • 2021-09-29
相关资源
最近更新 更多