【问题标题】:Make line graph from frequency table in R从R中的频率表制作折线图
【发布时间】:2023-04-10 22:13:01
【问题描述】:

我制作了一个频率表来查看 4 年期间种族类别的百分比。使用以下代码:

race <- table(crc$raceeth, crc$year)
perrace <- prop.table(race, 2)

我创建了一个如下所示的表:

                      2014      2015      2016      2017      2018
  Other              0.1032609 0.1433232 0.1335762 0.1141788 0.1285297
  Latino             0.3913043 0.3339548 0.2173649 0.2321011 0.2434275
  non-hispanic black 0.3695652 0.3087858 0.3995143 0.4361254 0.4634859
  non-hispanic white 0.1358696 0.2139361 0.2495446 0.2175948 0.1645570

现在我想创建一个折线图,其中 x 轴为年份,y 轴为每个种族/民族的线条,但我不知道从这里去哪里

【问题讨论】:

    标签: r graph graphics


    【解决方案1】:

    这是tidyverse 方法:

    library(tidyverse)
    df %>%
        rownames_to_column("Group") %>%
        gather(x, y, -Group) %>%
        mutate(x = as.Date(gsub("X", "", x), format = "%Y")) %>%
        ggplot(aes(x, y, colour = Group)) +
        geom_line()
    


    样本数据

    df <- read.table(text =
        "                    2014      2015      2016      2017      2018
      'Other'              0.1032609 0.1433232 0.1335762 0.1141788 0.1285297
      'Latino'             0.3913043 0.3339548 0.2173649 0.2321011 0.2434275
      'non-hispanic black' 0.3695652 0.3087858 0.3995143 0.4361254 0.4634859
      'non-hispanic white' 0.1358696 0.2139361 0.2495446 0.2175948 0.1645570", header = T, row.names = 1);
    

    【讨论】:

    • 我敢肯定,看起来您使用了以下软件包(我对 R 比较陌生):ggplot 和 dplyr,对吗?还是我错过了一些
    • @Kelly 是的,我应该包含这些软件包并提供更多详细信息(我已经更新了我的帖子)。 library(tidyverse) 包括必要的 ggplotdplyrtidyrmagrittr 库。
    • 谢谢!立即尝试
    • 嗯,当我尝试直接从创建的 perrace
    • @Kelly 您能否编辑您的帖子以包含(部分)race。这可能只是在链上加上 prop.table(race, 2) %&gt;% as.data.frame.matrix() %&gt;% ... 前缀的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-24
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多