【问题标题】:R: Plotting the percentage of pair combinations in dataframeR:绘制数据帧中对组合的百分比
【发布时间】:2021-10-19 06:33:37
【问题描述】:

我有以下dataframe

df <-read.table(header=TRUE, text="id Medication
                1 A
                1 B
                1 C
                2 A
                2 B
                3 A
                3 A
                3 B
                4 B
                4 C")

我想在条形图中绘制每个人服用每种药物的百分比:A&B、B&C 和 C&D。在此示例中,它将是:

A&B = 0.75, B&C = 0.5, and A&C = 0.25. 

【问题讨论】:

    标签: r dataframe plot


    【解决方案1】:

    您可以使用combn 计算每个组合的比率。

    data <- do.call(rbind, combn(unique(df$Medication), 2, function(x) 
      data.frame(Med_comb = paste(x, collapse = ' & '), 
                 value = mean(tapply(df$Medication, df$id, function(y) all(x %in% y)))), 
      simplify = FALSE))
    
    data
    #  Med_comb value
    #1    A & B  0.75
    #2    A & C  0.25
    #3    B & C  0.50
    

    对于绘图,您可以使用ggplot2

    library(ggplot2)
    ggplot(data, aes(Med_comb, value)) + geom_col()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-24
      • 2021-12-13
      • 2012-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多