我在创建合适的Barplot时遇到问题。这是我的数据:
Site Leaftype Bacteria_per_mm2 SD
1 A E 1733540.8 455950.56
2 A B 1062815.7 352876.56
3 A MI_E 1414862.9 442902.69
4 A MI_B 638189.9 287774.87
5 B E 0.0 0.00
6 B B 0.0 0.00
7 B MI_E 0.0 0.00
8 B MI_B 639858.4 213881.70
9 C E 1862013.0 802574.16
10 C B 628596.2 153344.48
11 C MI_E 1417365.6 374644.06
12 C MI_B 502209.6 270575.29
13 D E 0.0 0.00
14 D B 614831.3 176989.64
15 D MI_E 0.0 0.00
16 D MI_B 38271374.5 133237805.80
17 E E 1084505.8 604725.59
18 E B 306164.3 113604.13
19 E MI_E 588135.8 178212.25
20 E MI_B 294207.0 119656.46
21 F E 1712406.8 1378365.84
22 F B 329522.9 123385.05
23 F MI_E 0.0 0.00
24 F MI_B 389865.9 122340.59
25 G E 0.0 0.00
26 G B 6934997.3 28121464.95
27 G MI_E 957702.0 235390.37
28 G MI_B 373737.4 131594.27
29 H E 1677647.0 609105.40
30 H B 438390.6 145930.97
31 H MI_E 0.0 0.00
32 H MI_B 602317.8 187389.36
33 I E 1683903.8 303170.48
34 I B 0.0 0.00
35 I MI_E 0.0 0.00
36 I MI_B 407941.0 135698.56
37 K E 1257192.5 297964.48
38 K B 291982.3 124092.78
39 K MI_E 1209432.5 1670628.39
40 K MI_B 442144.7 182276.10
41 L E 1453793.9 703390.84
42 L B 663495.1 313438.15
43 L MI_E 1405130.2 11237373.56
44 L MI_B 2775709.1 9921931.93
45 N E 461332.1 120115.39
46 N B 760822.5 285298.68
47 N MI_E 1647614.5 260567.19
48 N MI_B 615109.4 171088.51
49 O E 931423.6 498561.29
50 O B 299768.5 144299.92
51 O MI_E 1112035.5 285024.12
52 O MI_B 335362.6 114015.88
53 P E 0.0 0.00
54 P B 501375.4 84989.70
55 P MI_E 0.0 0.00
56 P MI_B 869273.1 149036.53
57 Q E 961873.2 189228.01
58 Q B 381523.6 168520.10
59 Q MI_E 894300.1 184394.29
60 Q MI_B 0.0 0.00
61 R E 966878.6 209821.35
62 R B 284474.2 80791.71
63 R MI_E 903893.8 558948.64
64 R MI_B 0.0 0.00
65 S E 0.0 0.00
66 S B 1076163.4 927758.07
67 S MI_E 1137479.7 305446.03
68 S MI_B 802812.3 190456.51
69 T E 0.0 0.00
70 T B 2287681.5 10420861.06
71 T MI_E 0.0 0.00
72 T MI_B 761656.7 406262.84
我尝试创建一个条形图,它显示了不同Sites
和每个Leaftype
每mm2叶面的细菌数量,因此我想创建一个带有y的条形图(响应)变量和2个分类变量。我的第一个问题是,Leaftype
和Sites
不是数字而R告诉我,不可能创建一个带有变量的条形图,这些变量不是数字向量。
这是我使用的代码:
Bacteria_all<-read.delim("Mean_Bacteria_counts_final.csv", header = TRUE, sep = ";")# my data
Bacteria_all
str(Bacteria_all)
mean5<-Bacteria_all$Bacteria_per_mm2
mean5
sd5<-Bacteria_all$SD
sd5
library(ggplot2)
ggplot(data=Bacteria_all)+
geom_bar(stat="identity",aes(x=Site,y=mean5),fill = "forestgreen")+
theme_bw()+
geom_errorbar(aes(x=Site,ymin=mean5-sd5,ymax=mean5+sd5),width=0.5)+
ylim(0,1000000)+
labs(x='Sites and Tree Species',y= 'Bacterial number per mm2 leafsurface')
这是合适的图像,但Leaftypes
缺失。
你可以帮我解决这个问题吗?我发现了一些相关问题,但我无法将这些答案应用于我的问题,我是R的初学者!
希望你能帮助我!
答案 0 :(得分:1)
如何按facet_wrap
leaftype
添加到方面
ggplot(data=Bacteria_all)+
geom_bar(stat="identity",aes(x=Site,y=mean5),fill = "forestgreen")+
theme_bw()+
geom_errorbar(aes(x=Site,ymin=mean5-sd5,ymax=mean5+sd5),width=0.5)+
ylim(0,1000000)+
labs(x='Sites and Tree Species',y= 'Bacterial number per mm2 leafsurface') +
facet_wrap( ~ Leaftype, ncol=2)
(注意:我只花了几行数据才能做到这一点。)
另一种方法是通过叶型躲避条形图,但这样做会更复杂,看起来可能不太好。