R 数据.带着色级别的Bland Altman的帧格式

R 数据.带着色级别的Bland Altman的帧格式,r,R,我正在努力寻找一个数据表示的解决方案来绘制一个平淡的Altman图(使用blandr/epade或其他软件包),在这里我可以对不同的方法进行不同的着色。 我想比较智能手机加速计和视频分析的测量结果。因此,我读取了中的所有数据,并用长格式表示它们 Date Participant Rater Machine_ASVZ Machine Set Contraction_Mode Time_Video Smartphone Time_Smartphone 3 2019.01.26

我正在努力寻找一个数据表示的解决方案来绘制一个平淡的Altman图(使用blandr/epade或其他软件包),在这里我可以对不同的方法进行不同的着色。 我想比较智能手机加速计和视频分析的测量结果。因此,我读取了中的所有数据,并用长格式表示它们

Date Participant Rater Machine_ASVZ   Machine Set Contraction_Mode Time_Video Smartphone Time_Smartphone
3 2019.01.26          CV    CV           A1 LEG PRESS   1             Con1       1340          1            1650
4 2019.01.26          CV    CV           A1 LEG PRESS   1             Ecc1       2580          1            2450
5 2019.01.26          CV    CV           A1 LEG PRESS   1             Con2       1160          1            1350
6 2019.01.26          CV    CV           A1 LEG PRESS   1             Ecc2       2300          1            2100
7 2019.01.26          CV    CV           A1 LEG PRESS   1             Con3       1220          1            1400
8 2019.01.26          CV    CV           A1 LEG PRESS   1             Ecc3       2120          1            1950
评分员是两个独立分析Time_视频的评分员的因子,智能手机是两个智能手机测量值(Time_智能手机)的因子

由于Bland Altman图倾向于两个向量(每个方法测量一个),我对data.frame进行了转换和变异,以便计算两个评分员视频分析(Time_视频)和两个智能手机测量(Time_智能手机)的平均值:

现在,我不知道如何插入水平(视频,智能手机)来为平淡的Altman图着色,这样视频和智能手机测量值就可以区分了

bland_altman_plot<- blandr.draw(as.numeric(unlist(dplyr::select(filter(melt_subset, Source=="Rater_Mean"),"Time"))), as.numeric(unlist(dplyr::select(filter(melt_subset, Source=="Smartphone_Mean"),"Time"))), method1name = "Method 1",
                 method2name = "Method 2",
                 plotTitle = paste("Bland-Altman-Plot ",i, sep=""),
                 sig.level = 0.95, LoA.mode = 1, annotate = FALSE, ciDisplay = TRUE,
                 ciShading = FALSE, normalLow = FALSE, normalHigh = FALSE,
                 lowest_y_axis = FALSE, highest_y_axis = FALSE, point_size = 2,
                 overlapping = FALSE, plotter = "ggplot2", x.plot.mode = "means",
                 y.plot.mode = "difference", plotProportionalBias = TRUE,
                 plotProportionalBias.se = TRUE, assume.differences.are.normal = TRUE)

bland_altman_plot几乎在已经出版的两个案例中,我手工解决了绘图问题。可以使用首选打印功能(blandaltmanleh或blandr)绘制第一组数据,然后添加点。如果您对自行生成的BA线不满意,最后一种选择是计算所有数据的BA统计信息,手动绘制边距和线条,然后分两步/颜色绘制点

几乎在已经出版的两个案例中,我手动解决了绘图问题。可以使用首选打印功能(blandaltmanleh或blandr)绘制第一组数据,然后添加点。如果您对自行生成的BA线不满意,最后一种选择是计算所有数据的BA统计信息,手动绘制边距和线条,然后分两步/颜色绘制点

Bland Altman图旨在评估两种方法的一致性。x轴是两种方法测量值的平均值,y轴是它们的差值,因此x轴和y轴都包含这两种方法的组合信息。我认为你不能/不应该在一个乏味的Altman情节中“区分”这两种方法。我同意@HCQ。看看你的图表,也许值得在y轴上绘制测量日志的差异。还有一个变化的平淡的奥特曼地块,协议的限制是倾斜的。看看他们1999年的论文,你可以在网上找到。布兰德,J.M.,和奥特曼,D.G.(1999)。方法比较研究中的测量一致性-综述。医学研究中的统计方法,8135–160。很好。非常感谢你。我使用的是Blandr包,它将两个向量作为输入并绘制差异。但不可能进行日志转换。至少我对R的了解不多:(Bland Altman图旨在评估两种方法的一致性。x轴是两种方法测量值的平均值,y轴是它们的差异,因此x轴和y轴都包含这两种方法的组合信息。我认为你不能/不应该“区分”这两种方法在Bland Altman图中使用。我同意@HCQ。看看你的图表,也许值得在y轴上绘制测量日志的差异。在Bland Altman图中,也有一种变化,一致性的极限是倾斜的。看看他们1999年的论文,你可以在网上找到。Bland,J.M.&Altman,D.G.(1999)。方法比较研究中的测量一致性-综述。医学研究中的统计方法,8135–160。很好的观点。非常感谢。我使用的是Blandr软件包,它以两个向量作为输入并得出差异。但不可能进行对数转换。至少我对R的了解不多:(
bland_altman_plot<- blandr.draw(as.numeric(unlist(dplyr::select(filter(melt_subset, Source=="Rater_Mean"),"Time"))), as.numeric(unlist(dplyr::select(filter(melt_subset, Source=="Smartphone_Mean"),"Time"))), method1name = "Method 1",
                 method2name = "Method 2",
                 plotTitle = paste("Bland-Altman-Plot ",i, sep=""),
                 sig.level = 0.95, LoA.mode = 1, annotate = FALSE, ciDisplay = TRUE,
                 ciShading = FALSE, normalLow = FALSE, normalHigh = FALSE,
                 lowest_y_axis = FALSE, highest_y_axis = FALSE, point_size = 2,
                 overlapping = FALSE, plotter = "ggplot2", x.plot.mode = "means",
                 y.plot.mode = "difference", plotProportionalBias = TRUE,
                 plotProportionalBias.se = TRUE, assume.differences.are.normal = TRUE)