我的数据框如下所示:

plant   distance
one 0
one 1
one 2
one 3
one 4
one 5
one 6
one 7
one 8
one 9
one 9.9
two 0
two 1
two 2
two 3
two 4
two 5
two 6
two 7
two 8
two 9
two 9.5

我想按时间间隔(例如,interval = 3)将每个级别的距离分成几组,然后计算每组的百分比。 最后,绘制各组每个级别的百分比,如下所示:

在此处输入图片说明

我的代码:

library(ggplot2)
library(dplyr)

dat <- data %>% 
  mutate(group = factor(cut(distance, seq(0, max(distance), 3), F))) %>% 
  group_by(plant, group) %>% 
  summarise(percentage = n()) %>% 
  mutate(percentage = percentage / sum(percentage))
p <- ggplot(dat, aes(x = plant, y = percentage, fill = group)) + 
  geom_bar(stat = "identity", position = "stack")+
  scale_y_continuous(labels=percent)
p

但是我的图如下所示:第group 4组丢失了。 在此处输入图片说明

我发现dat是错的,第group 4NA

在此处输入图片说明

可能的原因是第group 4的长度小于interval=3 ,所以我的问题是如何解决? 先感谢您!

#1楼 票数:0

我已经解决了这个问题,原因是cut(distance, seq(0, max(distance), 3), F)不包括最大值和最小值。

这是我的解决方案:

dat <- my_data %>% 
  mutate(group = factor(cut(distance, seq(from = min(distance), by = 3,   length.out = n()/ 3 + 1),  include.lowest = TRUE)))  %>% 
  count(plant, group) %>%
  group_by(plant) %>%
  mutate(percentage = n / sum(n))

  ask by just_rookie translate from so

未解决问题?本站智能推荐:

1回复

r删除不代表所有组的记录

处理原始数据后,我们获得了以下data.frame 我有10000条这样的记录,我的首要目标是找出代表所有4个GroupID的项。 首先,我试图通过绘图在视觉上做到这一点。 对于大型数据集,这看起来并不明智。 最好的方法是了解多少个项目代表所有组并提及提及。 在上面的示
1回复

r-使用Dplyr计算子组内的%

我想按年份绘制各种事件类型的相对死亡人数。 我可以使用ggplot中的各个方面进行处理,但正在努力根据事件,年份和无死亡人数来计算事件百分比。 我有以下代码来计算它,但是计算不能使用分母高得多的分母进行计算。 我究竟做错了什么? 我的图表如下。 我将其包括在内,是因
2回复

按时间段绘制R中的唯一组

我们可以看到x和y是组变量(我们只有组类别qq,ww,ee) 1月1日 然后是1月2日 如何在图表中显示类别的数量:数据集很大,因此1月份需要图表,因此图表显示按日销售类别的数量
1回复

如何从 R 中的列表绘制一组线性模型

我正在做R for Data Science 的一个练习,要求我将线性模型拟合到模拟数据集的几次运行中。 我是手动完成的,但后来想扩展这个想法。 我试图根据另一个网站的解决方案扩展这个想法。 该解决方案如下: 对我来说,这个解决方案的问题是我还不熟悉/不习惯使用methods 。 所以我尝试根
1回复

r/ggplot:计算组内的条形图份额

我正在使用ggplot2制作一个按一个变量分组并以份额报告的条形图。 我希望百分比是分组变量的百分比,而不是整个数据集的百分比。 例如, 产生这个输出: 我希望百分比(和条形高度)反映“在cyl内”的比例,而不是在整个样本中共享。 这可能吗? 这会涉及stat参数吗? geom_t
1回复

R 数据未正确绘制

我真的在用 ggplot 和 dplyr 处理 R 中的图。 我有一个带列的数据框: 我使用 dplyr 进行了分组,以按日期对输入记录进行分组。 然后我试图绘制它。 但是输出看起来不对,看起来像条形图,线条之间没有联系 所以我换geom_line()与geom_path() 这
1回复

如何在R中按组计算SD,而不会丢失在ggplot2中绘图仍然需要的列?

我有一个“场景”(27x)的数据集,其中 A、B en C 是模型的某些输入值,而 value 是变量的结果。 现在我想用 ggplot 制作一个分组的条形图(y 上的值,x 上有因子 B,由 A 填充。我想根据因子 C 引起的变化制作误差线。 我的数据集(简化)大致采用以下格式: 好像:
1回复

R:ggplot:使用dplyr与组平均值合并geom_points

我想使用dplyr和ggplot一起添加2个不同的ggplots: 另一种询问方式:如何按2个变量名称过滤,然后使用dplyr和不同颜色的变量点将它们一起添加到同一ggplot中? 谢谢。