我的数据框包含一个总是有两个可能答案的列。我现在想计算各个组的百分比,并将它们自动显示在下图中作为y轴:
ggplot(data=C2, aes(x=dialect, y=[variety --> HELP!], group=lemma)) +
+ geom_line(aes(linetype=lemma))+
+ geom_point()
这是我正在使用的数据帧(C2):
df <- read.csv(text = "59 , D , Pferd ,4
60 , D , Schmetterling ,4
61 , D , Pferd ,5
62 , D , Schmetterling ,5
63 , D , Katze ,5
64 , CH , Pferd ,5
65 , D , Katze ,5
66 , D , Katze ,3
67 , CH , Pferd ,3
68 , D , Schmetterling ,3
69 , D , Pferd ,3
70 , D , Pferd ,5
71 , D , Katze ,3
72 , CH , Schmetterling ,3
73 , CH , Pferd ,4
74 , CH , Pferd ,5
75 , D , Katze ,4
76 , CH , Pferd ,4
77 , CH , Schmetterling ,4
78 , D , Katze ,3
79 , D , Schmetterling ,3
80 , D , Katze ,3
81 , CH , Katze ,5
82 , D , Katze ,5
83 , CH , Katze ,3
84 , CH , Katze ,5
85 , CH , Schmetterling ,5
86 , CH , Pferd ,5
87 , D , Katze ,5
88 , CH , Pferd ,5
89 , CH , Katze ,5
90 , CH , Katze ,5
91 , CH , Pferd ,5
92 , CH , Katze ,5
93 , CH , Katze ,5
94 , CH , Pferd ,5
95 , D , Schmetterling ,5
96 , D , Katze ,5
97 , CH , Schmetterling ,5
98 , D , Katze ,4
99 , D , Katze ,3
100 , D , Katze ,5
101 , D , Schmetterling ,5
102 , D , Katze ,5
103 , CH , Pferd ,5" , header = F) %>%
set_names(c("ID", "lemma", "dialect", "value"))
“D”和“CH”是我想用百分比表示的变量。我希望这能够澄清我的数据框,如果没有,请告诉我需要适应什么。
发布于 2018-06-26 19:56:36
数据是指CH的百分比。
library(tidyverse)
df <- read_csv(file = "59 , D , Pferd ,4
60 , D , Schmetterling ,4
61 , D , Pferd ,5
62 , D , Schmetterling ,5
63 , D , Katze ,5
64 , CH , Pferd ,5
65 , D , Katze ,5
66 , D , Katze ,3
67 , CH , Pferd ,3
68 , D , Schmetterling ,3
69 , D , Pferd ,3
70 , D , Pferd ,5
71 , D , Katze ,3
72 , CH , Schmetterling ,3
73 , CH , Pferd ,4
74 , CH , Pferd ,5
75 , D , Katze ,4
76 , CH , Pferd ,4
77 , CH , Schmetterling ,4
78 , D , Katze ,3
79 , D , Schmetterling ,3
80 , D , Katze ,3
81 , CH , Katze ,5
82 , D , Katze ,5
83 , CH , Katze ,3
84 , CH , Katze ,5
85 , CH , Schmetterling ,5
86 , CH , Pferd ,5
87 , D , Katze ,5
88 , CH , Pferd ,5
89 , CH , Katze ,5
90 , CH , Katze ,5
91 , CH , Pferd ,5
92 , CH , Katze ,5
93 , CH , Katze ,5
94 , CH , Pferd ,5
95 , D , Schmetterling ,5
96 , D , Katze ,5
97 , CH , Schmetterling ,5
98 , D , Katze ,4
99 , D , Katze ,3
100 , D , Katze ,5
101 , D , Schmetterling ,5
102 , D , Katze ,5
103 , CH , Pferd ,5", trim_ws = TRUE) %>%
set_names(c("ID", "lemma", "dialect", "value"))
df %>%
select(-ID) %>%
mutate(value = factor(value)) %>%
group_by(lemma, dialect, value) %>%
count() %>%
spread(lemma, n, fill = 0) %>%
mutate(percentage = CH/(CH+D)) %>%
ggplot(mapping = aes(x = value, y = percentage, color = dialect, group = dialect)) +
geom_line() +
scale_y_continuous(labels = scales::percent)
https://stackoverflow.com/questions/-100005530
复制相似问题