下午好,
我刚才提出了一个非常类似的问题,但我想我可能是在问题已结束时把它错了,我被指给我一个没有帮助的答案(这是在向我展示如何绘图,而不是在绘图前如何格式化数据)。
我有以下数据:
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、胆固醇等)绘制出一个隐藏的条状图。对于相邻的两个不同的星系团,就像下面我所包含的情节一样。

如何操作此数据框架,以便可以使用以下代码的迭代来为特定的数据框架创建上面的绘图?
要使用的代码示例:
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()‘函数能够与我的数据一起工作。
发布于 2021-01-15 14:30:32
试试这个。ggplot2中的关键始终是将数据整形为long。您可以使用tidyverse函数来完成这一任务,然后勾勒出这幅图:
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))输出:

发布于 2021-01-15 14:33:03
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")

https://stackoverflow.com/questions/65737783
复制相似问题