这是我正在做的在线课程的一部分,R用于数据分析。
使用group_by创建一个小标题,并在Diamonds数据集上汇总函数-新的小标题确实存在,并且外观与您期望的一致,我检查了一下。现在必须使用新的小标题中的这些摘要值来创建条形图,但这会给我带来各种与无法识别列相关的错误。 我将小标题转换为数据框,仍然遇到相同的问题。
这是代码:
diamonds_by_color <- group_by(diamonds, color)
diamonds_mp_by_color <- summarise(diamonds_by_color, mean_price = mean(price))
diamonds_mp_by_color <- as.data.frame(diamonds_mp_by_color)
colorcounts <- count(diamonds_by_color$mean_price)
colorbarplot <- barplot(diamonds_by_color$mean_price, names.arg = diamonds_by_color$color,
main = "Average price for different colour diamonds")
运行函数计数时出现的错误是:
UseMethod(“ summarise_”)中的错误: 没有适用于“ summarise_”的适用方法应用于类“ NULL”的对象
此外:警告消息: 未知或未初始化的列:“均价”。
这可能有些琐碎,但我已经阅读了很多,尝试了一些尝试,但无法弄清楚。任何帮助将不胜感激:)
答案 0 :(得分:0)
您的diamonds_by_color
从未分配过mean_price
。
如果您改为引用diamonds_mp_by_color
,则最后两行代码可以工作:
colorcounts <- count(diamonds_mp_by_color, mean_price)
barplot(diamonds_mp_by_color$mean_price,
names.arg=diamonds_mp_by_color$color,
main="Average price for different colour diamonds")
答案 1 :(得分:0)
%>%
表示法也更清晰,因为您不必在每个操作中始终指定哪个数据帧作为第一个arg:
diamonds %>%
group_by(color) %>%
summarise(mean_price = mean(price)) %>%
tally() %>% # equivalent to n() on a group
# may need ungroup() %>%
barplot(mean_price, names.arg = color,
main = "Average price for different colour diamonds")
(类似的事情。您可以根据需要在管道图之前分配管道的输出。我正在穿越机场,因此无法在R中检查它。)
答案 2 :(得分:0)