【问题标题】:Graph plotting first,second,and third values of variables绘制变量的第一、第二和第三个值的图表
【发布时间】:2020-11-18 07:23:15
【问题描述】:

例如我有这个数据集:

c1 c2

A 1
A 3
A 10
B 5
B 4
C 3
C 4
C 6
A 5
C 7

是否有一种简短的方法可以在一张图中绘制 A、B、C 值的前三分之一、A、B、C 值的第二个三分之一以及 A、B、C 值的第三个第三个值。每个变量都有 3 行。

所以一共有9行

【问题讨论】:

    标签: r dataframe


    【解决方案1】:

    您可以使用group_split 和lapply:

    df <- data.frame(c1 = rep(LETTERS[1:3], 3), c2 = sample(1:10, size = 9, rep = T))
    
    df %>% 
      group_by(c1) %>%
      mutate(num = 1:n()) %>%
      group_split(num) -> plot_list
      
    
    lapply(plot_list, function(x) {
      ggplot(x, aes(x = num, y = c2)) + geom_line()
    })
    

    或者你使用构面:

    df %>% 
      group_by(c1) %>%
      mutate(num = 1:n()) %>%
      ggplot() + 
        facet_grid(scales = "free", cols = vars(num)) + 
        geom_line(aes(x = c1, y = c2, group = num))
    

    【讨论】:

      猜你喜欢
      • 2017-12-11
      • 1970-01-01
      • 1970-01-01
      • 2013-05-24
      • 1970-01-01
      • 2015-07-11
      • 1970-01-01
      • 1970-01-01
      • 2022-01-15
      相关资源
      最近更新 更多