如何为名称列创建多个值?

我的数据集具有以下形式:

name = c("h","s","i","o","R")
value = c(37,27,20,5,5)
df = data.frame(name,value)

我尝试了所有可能的方法,但我认为我缺少有关如何解决该问题的一些基本知识。     添加统计信息=“计数”

 ggplot(df,aes(name) ) +
     geom_bar(stat = "count",show.legend = TRUE) 

我正在获取或: -包含所有列的图 -错误消息

我期望的解决方案是: 使用ggplot的条形图,其中4列为 “ h”,“ s”,“ i&s”,“ o&R”

在y轴上,每个列都有以下值:37、27、20、5

xieyijin 回答:如何为名称列创建多个值?

您需要在绘制之前调整数据集,因为ggplot并不希望将相同的值可视化为单个条形。使用dplyr,您可以轻松做到:

library(dplyr)

df %>%
  group_by(value) %>%
  summarize(name = paste(name,collapse = " & "))
,

按照@caldwellst的建议汇总数据后,您可以使用

绘制条形图
library(dplyr)
library(ggplot2)

df %>%
  group_by(value) %>%
  summarize(name = toString(name)) %>%
  ggplot() + aes(name,value,label = value,fill = name) +
  geom_col() + geom_text(nudge_y = 1)

enter image description here

本文链接:https://www.f2er.com/3119674.html

大家都在问