【发布时间】:2021-08-26 02:04:33
【问题描述】:
我有两列,一列是年龄,另一列是百分比。我需要绘制一个图表,显示每 5 年间隔的百分比总和的分布情况。
df$group <- cut(df$age, breaks = seq(0,120,by=5), right = TRUE)
我使用上面的代码将年龄按每 5 个间隔分组,然后使用 group by(age) 和 summarise(sum=sum(percentage) 对每 5 个间隔的所有百分比求和。但是,我无法这样做是因为“分组依据”不能对分类变量起作用,你知道更好的方法吗? 如果df是:
df <- data.frame(age=c(2,4,6,8), percentage=c(2,3,6,7))
并按分组(年龄)和汇总(总百分比)转换为以下 年龄(0-5, 5-10), 总和百分比(5,13)
但是,我需要以下内容: 年龄(5,10),总和百分比(5,13)
【问题讨论】:
-
However, I'm not able to do that as a "group by" can not work on a categorical variable是什么意思?如果您创建一个小的可重现示例以及预期的输出,这将更容易提供帮助。阅读how to give a reproducible example。 -
您的方法似乎有问题,但缺少一些关键信息。最重要的是,您需要共享数据、语法和错误。那么问题可能很容易解决。
-
我怀疑您的“百分比”实际上是一个字符值“5%”与 0.05 不同。因此,我认为您必须先将百分比转换为数字,然后才能将它们加在一起。
-
你能解释一下吗,我是 R 的新手
标签: r graph group-by intervals summarize