R 如何并排制作两个条形图
我想为R 如何并排制作两个条形图,r,R,我想为A.x和A.y制作图形,并将它们并排制作 aggregate(A~ B , mydata, mean) aggregate(A~ B , mydata, sd) mydata2 <- aggregate(A~B , mydata, mean) mydata3 <- aggregate(A~B , mydata, sd) library(dplyr) mydata2 <- mydata2 %>% dplyr::select(B = 1, A = 2) %&g
A.x
和A.y
制作图形,并将它们并排制作
aggregate(A~ B , mydata, mean)
aggregate(A~ B , mydata, sd)
mydata2 <- aggregate(A~B , mydata, mean)
mydata3 <- aggregate(A~B , mydata, sd)
library(dplyr)
mydata2 <- mydata2 %>% dplyr::select(B = 1, A = 2) %>% dplyr::mutate_if(is.numeric, ~ round(., 3))
mydata3 <- mydata3 %>% dplyr::select(B = 1, A = 2) %>% dplyr::mutate_if(is.numeric, ~ round(., 3))
mydata4<- merge(x = mydata2, y = mydata3, by = 'B', all.x = TRUE)
mydata4
library(ggplot2)
ggplot(data=mydata4) + geom_bar(aes(x=B, y = A.x, fill=A.y), stat = "identity", position="dodge")
aggregate(A~B,我的数据,平均值)
聚合(A~B,mydata,sd)
mydata2%dplyr::mutate_if(is.numeric,~round(,3))
mydata4明白了,你必须重塑你的数据。复制tjtis代码
library(tidyverse)
mydata4 <- mydata4 %>% pivot_longer(cols = c(A.x, A.y), names_to = 'name', values_to = 'val')
mydata4
# A tibble: 14 x 3
B name val
<chr> <chr> <dbl>
1 A A.x 1.96
2 A A.y 1.12
3 A/B A.x 2.25
4 A/B A.y 1.03
5 A/B/C A.x 2.5
6 A/B/C A.y 1.18
7 A/C A.x 3
8 A/C A.y 1.41
9 B A.x 2.72
10 B A.y 1.32
11 B/C A.x 2.75
12 B/C A.y 0.957
13 C A.x 2.73
14 C A.y 1.30
ggplot(data=mydata4) + geom_col(aes(x=B, y = val, fill=name), position="dodge")
库(tidyverse)
mydata4%pivot_更长(cols=c(A.x,A.y),名称到='name',值到='val')
mydata4
#一个tibble:14x3
B名称val
1 A.x 1.96
2 A.y 1.12
3 A/B A.x 2.25
4 A/B A.y 1.03
5 A/B/C A.x 2.5
6 A/B/C A.y 1.18
7 A/C A.x 3
8 A/C A.y.1.41
9B A.x 2.72
10 B A.y 1.32
11 B/C A.x 2.75
12 B/C A.y 0.957
13 C.x 2.73
14 C.A.y.1.30
ggplot(data=mydata4)+geom_col(aes(x=B,y=val,fill=name),position=“dodge”)
您正在寻找一个刻面函数。请使用dput
或我们可以复制和使用的东西添加数据。图像是没有帮助的。阅读和@RonakShah B A.x A.y 1 A 1.955 1.121 2 A/B 2.250 1.035 3 A/B/C 2.500 1.179 4 A/C 3.000 1.414 5 B 2.718 1.324 6 B/C 2.750 0.957 C 2.727 1.302在这里。我是R的初学者,所以我使用R的工具很笨拙。sorry@IRTFM我在我的问题中添加了我想做的。我得到的信息是“忽略未知参数:stat”,然后我只得到一张图。我想做的是一张A.x&B的图,另一张A.y&B的图。然后放在一个方面。明白了。现在检查一下,我知道了。谢谢。