ggplot2 geom_col() unterscheidet sich von plot()
Verfasst: Di Mär 29, 2022 2:23 pm
Hallo,
ich habe eine Principle component analyse mit prcomp() gemacht. Nun versuche ich eine Scree plot zu machen. Wenn ich mir diesen mit dem plot() Befehl anschaue ist alles in Ordnung. Wenn ich versuche die Grafik mit ggplot2 in schön zu machen kommt eine Grafik heraus in der die Werte der x-Achse in der falschen Reihenfolge kommen.
Ich habe folgende Tabelle erstellt
Die Tabelle sieht so aus: Spalte PC Nummer von 1 bis 93, var_expl_tabl Werte geordnet vom höchsten zum kleinsten Wert.
Die ggplot2 Grafik wollte ich wie folgt erstellen:
Das Ergebnis ist folgende Grafik angehängt als screeplot1. jpg.
Erwarten würde ich eine Grafik screeplot 2 von der Datenverteilung
Hat jemand eine Idee warum das so ist?
VG
Werner
ich habe eine Principle component analyse mit prcomp() gemacht. Nun versuche ich eine Scree plot zu machen. Wenn ich mir diesen mit dem plot() Befehl anschaue ist alles in Ordnung. Wenn ich versuche die Grafik mit ggplot2 in schön zu machen kommt eine Grafik heraus in der die Werte der x-Achse in der falschen Reihenfolge kommen.
Ich habe folgende Tabelle erstellt
Code: Alles auswählen
pca_GE_all_var_expl_tbl <-
data.frame(PC = paste0(1:93),
var_explained = pca_GE_all$sdev^2/sum(pca_GE_all$sdev^2))
Code: Alles auswählen
GE_all_var_expl_tbl
PC var_explained
1 1 3.344084e-01
2 2 1.438074e-01
3 3 1.072239e-01
4 4 4.670794e-02
5 5 3.413497e-02
6 6 3.359805e-02
7 7 2.092461e-02
8 8 1.803073e-02
9 9 1.671627e-02
10 10 1.433452e-02
11 11 1.198894e-02
12 12 9.399608e-03
13 13 8.461168e-03
14 14 7.998514e-03
15 15 6.849114e-03
16 16 6.478053e-03
17 17 6.003372e-03
18 18 5.773242e-03
19 19 4.797188e-03
20 20 4.674142e-03
21 21 4.308319e-03
22 22 4.189525e-03
23 23 3.896836e-03
24 24 3.702643e-03
25 25 3.492253e-03
26 26 3.394300e-03
27 27 3.317103e-03
28 28 3.243657e-03
29 29 3.190355e-03
30 30 3.119645e-03
31 31 3.073774e-03
32 32 2.988087e-03
33 33 2.949264e-03
34 34 2.920289e-03
35 35 2.876176e-03
36 36 2.836995e-03
37 37 2.780262e-03
38 38 2.712839e-03
39 39 2.597859e-03
40 40 2.569712e-03
41 41 2.518777e-03
42 42 2.476687e-03
43 43 2.458967e-03
44 44 2.439450e-03
45 45 2.403536e-03
46 46 2.388050e-03
47 47 2.340619e-03
48 48 2.309623e-03
49 49 2.296063e-03
50 50 2.276667e-03
51 51 2.252636e-03
52 52 2.229747e-03
53 53 2.193251e-03
54 54 2.154634e-03
55 55 2.116372e-03
56 56 2.089635e-03
57 57 2.069938e-03
58 58 2.062687e-03
59 59 2.057265e-03
60 60 1.990263e-03
61 61 1.952521e-03
62 62 1.933391e-03
63 63 1.928793e-03
64 64 1.909842e-03
65 65 1.872618e-03
66 66 1.853267e-03
67 67 1.841589e-03
68 68 1.802654e-03
69 69 1.735345e-03
70 70 1.710964e-03
71 71 1.699947e-03
72 72 1.695379e-03
73 73 1.627852e-03
74 74 1.618843e-03
75 75 1.597681e-03
76 76 1.546884e-03
77 77 1.533414e-03
78 78 1.494242e-03
79 79 1.464179e-03
80 80 1.449263e-03
81 81 1.437032e-03
82 82 1.403733e-03
83 83 1.339541e-03
84 84 1.309905e-03
85 85 1.291101e-03
86 86 1.202688e-03
87 87 1.151050e-03
88 88 1.092907e-03
89 89 1.032700e-03
90 90 1.004124e-03
91 91 9.777109e-04
92 92 8.938960e-04
93 93 1.267195e-30
Code: Alles auswählen
ggplot(pca_GE_all_var_expl_tbl, aes(x=PC, y=var_explained))+
geom_col()+
labs(title = "Scree plot")
Erwarten würde ich eine Grafik screeplot 2 von der Datenverteilung
Hat jemand eine Idee warum das so ist?
VG
Werner