首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >格式化数据帧以允许隐藏条形图

格式化数据帧以允许隐藏条形图
EN

Stack Overflow用户
提问于 2021-01-15 14:23:03
回答 2查看 33关注 0票数 0

下午好,

我刚才提出了一个非常类似的问题,但我想我可能是在问题已结束时把它错了,我被指给我一个没有帮助的答案(这是在向我展示如何绘图,而不是在绘图前如何格式化数据)。

我有以下数据:

代码语言:javascript
复制
structure(list(cluster = c(1, 2), age = c(0.67, 0.39), resting_bps = c(0.42, 
0.29), cholesterol = c(0.3, 0.26), max_bps = c(0.51, 0.7)), class = "data.frame", row.names = c(NA, 
-2L))

我希望能够格式化这些数据,这样我就可以用不同的生物医学值(休息BPS、胆固醇等)绘制出一个隐藏的条状图。对于相邻的两个不同的星系团,就像下面我所包含的情节一样。

如何操作此数据框架,以便可以使用以下代码的迭代来为特定的数据框架创建上面的绘图?

要使用的代码示例:

代码语言:javascript
复制
ggplot(df, aes(x= blank, y=blank, fill = blank)) +
  geom_bar(stat = "identity", position = position_dodge2(preserve = "single")) +
  scale_fill_brewer(palette = "Paired")

,请不要过早地结束这个问题,向我指出如何绘制一个隐藏的条形图的代码。我的问题的重点是询问有经验的R程序员如何操作数据框架,以便'ggplot()‘函数能够与我的数据一起工作。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-01-15 14:30:32

试试这个。ggplot2中的关键始终是将数据整形为long。您可以使用tidyverse函数来完成这一任务,然后勾勒出这幅图:

代码语言:javascript
复制
library(dplyr)
library(tidyr)
library(ggplot2)
#Code
df %>%
  pivot_longer(-c(1:2)) %>%
  ggplot(aes(x=name,y=value,fill=factor(cluster)))+
  geom_bar(stat = 'identity',position = position_dodge(0.9))

输出:

票数 1
EN

Stack Overflow用户

发布于 2021-01-15 14:33:03

代码语言:javascript
复制
library(tidyverse)
df<-pivot_longer(df,-1)
ggplot(df, aes(x= name, y=value, fill = as.character(cluster))) +
 geom_bar(stat = "identity", position = position_dodge2(preserve = "single")) +
 scale_fill_brewer(palette = "Paired")

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65737783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档