首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >R:如何计算线图内的百分比?

R:如何计算线图内的百分比?
EN

Stack Overflow用户
提问于 2018-06-26 10:26:47
回答 1查看 0关注 0票数 0

我的数据框包含一个总是有两个可能答案的列。我现在想计算各个组的百分比,并将它们自动显示在下图中作为y轴:

代码语言:javascript
复制
ggplot(data=C2, aes(x=dialect, y=[variety --> HELP!], group=lemma)) +
               +          geom_line(aes(linetype=lemma))+
               +      geom_point()

这是我正在使用的数据帧(C2):

代码语言:javascript
复制
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”是我想用百分比表示的变量。我希望这能够澄清我的数据框,如果没有,请告诉我需要适应什么。

EN

回答 1

Stack Overflow用户

发布于 2018-06-26 19:56:36

数据是指CH的百分比。

代码语言:javascript
复制
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)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100005530

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档