R:如何可视化随时间变化的二进制/分类数据

阿德里安
>dput(data)
structure(list(ID = c(1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 
3, 3), Dx = c(1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1), Month = c(0, 
6, 12, 18, 24, 0, 6, 12, 18, 24, 0, 6, 12, 18, 24), score = c(0, 
0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0)), .Names = c("ID", 
"Dx", "Month", "score"), row.names = c(NA, -15L), class = "data.frame")

>data
    ID Dx Month score
1   1  1     0     0
2   1  1     6     0
3   1  1    12     0
4   1  1    18     1
5   1  1    24     1
6   2  1     0     1
7   2  1     6     1
8   2  2    12     1
9   2  2    18     0
10  2  2    24     1
11  3  1     0     0
12  3  1     6     0
13  3  1    12     0
14  3  1    18     0
15  3  1    24     0

假设我有上面的data.frame。我有3位患者(ID=,1、2或3)。Dx是诊断(Dx= 1正常,= 2患病)。有一个月份变量。最后但并非最不重要的是测试分数变量。参与者的测试分数是二进制的,并且可以从0或1更改或从1还原为0。我很难找到一种可视化此数据的方法。我想要一个信息丰富的图表,它看起来:

  1. 参与者的考试分数随时间变化的趋势。
  2. 该趋势与参与者随时间推移的诊断相比如何

在我的真实数据集中,我有800多个参与者,所以我不想构造800个单独的图...我认为测试分数变量为二进制确实让我感到困惑。任何帮助,将不胜感激。

克里斯

注意:对于第2部分,需要完成以下许多数据操作。第1部分不太复杂,您可以在下面看到它。

用途

library(data.table)
library(ggplot2)
library(reshape2)

比较

首先,将Dx从1更改为2,再将0更改为1(假设分数的0对应于Dx的1)

data$Dx <- data$Dx - 1

现在,创建一个矩阵,该矩阵对于0诊断的1诊断返回1,对于1诊断0的诊断返回-1。

compare <- matrix(c(0,1,-1,0),ncol = 2,dimnames = list(c(0,1),c(0,1)))
> compare
  0  1
0 0 -1
1 1  0

现在,让每个事件得分。这只是为矩阵中的每个条目查找上面的矩阵:

data$calc <- diag(compare[as.character(data$Dx),as.character(data$score)])

*注意:使用匹配可以加快大型矩阵的速度,但是对于像您这样的较小集合,这是快速解决方案

为了允许我们使用data.table聚合:

data <- data.table(data)

现在我们需要创建变量:

tograph <- melt(data[, list(ScoreTrend = sum(score)/.N, 
                            Type = sum(calc)/length(calc[calc != 0]), 
                            Measure = sum(abs(calc))), 
                     by = Month],
                id.vars = c("Month"))
  • ScoreTrend:计算每个月中积极得分的比例。显示分数随时间变化的趋势
  • 类型:显示-1对1随时间的比例。如果返回-1,则所有事件的得分= 1,diag =0。如果返回1,则所有事件的诊断值diag = 1,score =0。零将表示两者之间的平衡。
  • 度量:错误事件的原始数量。

我们会沿着月份融化此数据框,以便创建一个构面图。

如果没有不正确的事件,我们将获得类型的NaN。要将其设置为0:

tograph[value == NaN, value := 0]

最后,我们可以绘制

ggplot(tograph, aes(x = Month, y = value)) + geom_line() + facet_wrap(~variable, ncol = 1)

现在,我们可以在一个图中看到:

  • 每月的积极分数数
  • 诊断不足与诊断过度的比例
  • 错误诊断的数量。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在 Python 中可视化多轴中的二进制数据?

来自分类Dev

基于 R 中两个嵌套 id 变量的二进制变量编码状态随时间变化

来自分类Dev

使用python可视化将十进制转换为二进制

来自分类Dev

可视化和比较不同类别随时间变化的解决方案

来自分类Dev

使用R将列中的分类数据重塑为行中的二进制数据

来自分类Dev

R写二进制数据

来自分类Dev

传感器数据的二进制分类

来自分类Dev

朴素贝叶斯分类器与二进制数据

来自分类Dev

如何发送二进制数据?

来自分类Dev

如何归档二进制数据

来自分类Dev

如何使用高斯过程进行二进制分类?

来自分类Dev

如何预测分类中的二进制值

来自分类Dev

R如何可视化此分类百分比数据?

来自分类Dev

R&ggplot2-如何通过二进制变量绘制分类拆分的相对频率

来自分类Dev

TensorFlow用于二进制分类

来自分类Dev

熊猫进行二进制分类

来自分类Dev

如何根据标签过滤和平衡带有二进制分类标签的窗口化 Tensorflow 数据集?

来自分类Dev

R图二进制时间序列

来自分类Dev

如何长时间存储二进制补码

来自分类Dev

在Python中序列化二进制数据

来自分类Dev

无法从给定的二进制数据初始化

来自分类Dev

如何在R中绘制二进制状态时间序列?

来自分类Dev

二进制文件如何“二进制”?

来自分类Dev

如何从类型化数组中的二进制数据创建PNG Blob?

来自分类Dev

如何使用HTTP作为传输读取通过Avro序列化的二进制数据?

来自分类Dev

凸面,二维数据的最佳二进制分类

来自分类Dev

在进行二进制分类时,如何解决predict()中的错误:R中的下标超出范围?

来自分类Dev

R-二进制Weblog数据的聚类分析

来自分类Dev

R中的数据重组(二进制的简短列表)

Related 相关文章

  1. 1

    如何在 Python 中可视化多轴中的二进制数据?

  2. 2

    基于 R 中两个嵌套 id 变量的二进制变量编码状态随时间变化

  3. 3

    使用python可视化将十进制转换为二进制

  4. 4

    可视化和比较不同类别随时间变化的解决方案

  5. 5

    使用R将列中的分类数据重塑为行中的二进制数据

  6. 6

    R写二进制数据

  7. 7

    传感器数据的二进制分类

  8. 8

    朴素贝叶斯分类器与二进制数据

  9. 9

    如何发送二进制数据?

  10. 10

    如何归档二进制数据

  11. 11

    如何使用高斯过程进行二进制分类?

  12. 12

    如何预测分类中的二进制值

  13. 13

    R如何可视化此分类百分比数据?

  14. 14

    R&ggplot2-如何通过二进制变量绘制分类拆分的相对频率

  15. 15

    TensorFlow用于二进制分类

  16. 16

    熊猫进行二进制分类

  17. 17

    如何根据标签过滤和平衡带有二进制分类标签的窗口化 Tensorflow 数据集?

  18. 18

    R图二进制时间序列

  19. 19

    如何长时间存储二进制补码

  20. 20

    在Python中序列化二进制数据

  21. 21

    无法从给定的二进制数据初始化

  22. 22

    如何在R中绘制二进制状态时间序列?

  23. 23

    二进制文件如何“二进制”?

  24. 24

    如何从类型化数组中的二进制数据创建PNG Blob?

  25. 25

    如何使用HTTP作为传输读取通过Avro序列化的二进制数据?

  26. 26

    凸面,二维数据的最佳二进制分类

  27. 27

    在进行二进制分类时,如何解决predict()中的错误:R中的下标超出范围?

  28. 28

    R-二进制Weblog数据的聚类分析

  29. 29

    R中的数据重组(二进制的简短列表)

热门标签

归档