R ggplot2颜色比例问题与美学
我试图制作数据集中项目频率的图表,但在绘图时出现了此错误 不知道如何为类型的对象自动拾取比例 data.frame。默认为连续 错误:长度必须为1或与数据(39123):x相同 这是我使用的数据模型:R ggplot2颜色比例问题与美学,r,ggplot2,R,Ggplot2,我试图制作数据集中项目频率的图表,但在绘图时出现了此错误 不知道如何为类型的对象自动拾取比例 data.frame。默认为连续 错误:长度必须为1或与数据(39123):x相同 这是我使用的数据模型: product_id order_id product_name 1 41899 330425 Oreo Ice Cream Sandwiches 2 122580 1707573
product_id order_id product_name
1 41899 330425 Oreo Ice Cream Sandwiches
2 122580 1707573 Mint Chip
3 146891 622568 Coffee Ice Cream
4 134292 1284843 Belgian Milk Chocolate Gelato
5 146530 2693694 Variety Pack Ice Cream Bars
数据帧的str输出为(前5个值):
我尝试过对绘图代码进行几次更改,但出现了不同的错误
这是我正在使用的代码
orders_group <- group_by(orders_products,order_id)
orders_summ <- as.data.frame(summarise(orders_group, n_items = count(product_name)))
ggplot(orders_summ,aes(x=n_items))+
geom_histogram(stat="count")+#geom_histogram(fill="indianred", bins = 100000) +
geom_rug()+
coord_cartesian(xlim=c(0,80))+
scale_fill_manual(values = getPalette(colourCount))
orders\u group我相信这是因为您使用的count()
不正确count()
生成一个TIBLE,当您调用summary
生成数据帧时,该TIBLE会做出奇怪的反应
我必须运行,但乍一看,似乎您创建了一列数据帧(或类似的内容),这可以解释您的ggplot错误。我相信你要找的是:
orders_summ <- orders_products %>%
group_by(order_id) %>% # normally this step would have produced your orders_group
summarise(n_items = n())
订单总数%
分组依据(订单id)%>%#通常此步骤会生成您的订单组
总结(n_项=n()
然后尝试运行ggplot代码。错误消息似乎在抱怨您正在处理的数据对象的类型或结构。在这种情况下,在您使用的各种对象上与use共享str()
的输出也是有意义的,这样我们就可以真正看到问题所在。最好是一个完全可复制的示例,我们可以自己运行。我添加了我正在使用的数据示例。谢谢,但这实际上没有任何帮助。我特别提到了str()
,因为仅仅将R中的对象打印到控制台只提供关于其结构的非常有限的信息。同样,一个完全可重复的例子是理想的。我更新了我正在使用的前5个值和'str()'函数的结果。这5个值也有同样的错误。我甚至试着用product\u id更改product\u名称,但也出现了同样的错误。谢谢,我对'n()'函数有点小问题,但可以用
orders_summ <- orders_products %>%
group_by(order_id) %>% # normally this step would have produced your orders_group
summarise(n_items = n())