存储和访问数据,以便将来分析运营商内部和运营商间的可变性

时间:2013-02-10 13:04:02

标签: perl r postgresql

我即将开始一个简短的项目,该项目涉及合理数量的数据,我希望以合理的方式存储 - 最好是postgressql数据库。

我将简要介绍一下这项任务。我将处理和分析一系列图像的数据,每个图像都有一个唯一的ID。对于每个图像,我和其他操作员将完成一些简单的图像处理任务,包括调整角度和放置区域,最终结果是众多的定量参数 - 例如均值,方差等。我们预计这些测量中会有运营商内部和运营商之间的差异这就是我想分析的内容。

我的初步计划是按以下方式存储数据

ID   Operator   Attempt    Date     Result1     Result2      Reconstruction Method    Iterations 
1    AB         1          01/01/13   x         x            FBP
1    AB         2          01/01/13   x         x            FBP
1    CD         1          01/01/13   x         x            FBP
1    CD         2          01/01/13   x         x            FBP
2    AB         1          01/01/13   x         x            FBP
2    AB         2          01/01/13   x         x            FBP
2    CD         1          01/01/13   x         x            FBP
2    CD         2          01/01/13   x         x            FBP
1    AB         1          11/01/13   x         x            FBP
1    AB         2          01/01/13   x         x            MLEM

现在我想要比较(使用相关和Bland Altman图)是同一个操作员处理相同图像(图像必须具有相同的ID,日期,重建技术)的结果的差异。即对于所有相同的图像和操作者,尝试1和2如何不同。我想对互操作者可变性进行相同的分析,即对于用MLP重建的所有图像,对于用FBP重建的所有图像或对于AB重建的所有图像,AB如何与用于ID 1的CD进行比较。不应比较具有相同唯一ID但在不同日期或重建技术上获得的图像,因为它们将包含与操作员可变性不同的差异。

我有各种R脚本来进行分析,但我不确定的是如何访问我的数据并以合理的格式安排它来进行分析,或者我的计划存储方法是否适合这样做。在过去,我使用perl来访问数据库并提取数字,但我最近发现了更适合的Rpostgressql。

我想我的问题是,对于这样的数据库,我该如何选择:

(a)所有独特的图像(ID,在同一日期使用相同的重建方法获得),并比较尝试1和2的操作员AB(CD等)的所有Result1的差异

(b)同样比较AB和CD,CD和EF等之间的所有Result1尝试1s

以下是我想要的输出示例(a)

ID   Operator    Date     Result1 (Attempt 1)    Result1(Attempt 2)
1    AB          01/01/13     10                      12
2    AB          01/01/13     22                      21
3    AB          03/01/13     15                      17
4    AB          04/01/13     27                      25
5    AB          06/01/13     14                      12
1    AB          11/01/13     3                       6

然后我会分析最后两列

(b)比较AB和CD

的示例输出
ID   Date     Result1 (Op: AB, Att: 1)    Result1(Op: CD: Att 1)
1    01/01/13        10                          12
2    01/01/13        22                          21
3    05/01/13        12                          14
1    11/01/13        19                          24

1 个答案:

答案 0 :(得分:1)

这些只是一个粗略的想法!

  

(a)所有独特的图像(ID,在相同日期获得,相同   重建方法)并比较所有Result1的差异   尝试1和2的操作员AB(CD等)

对于(a),您可以使用使用参数的SQL语句DISTINCT& SORT BY

例如

SELECT DISTINCT Images FROM YourTable SORT BY DATE(Date), "Reconstruction Method" 
  

(b)比较AB和CD之间的所有Result1尝试1s,   CD和EF等

对于(b),您可以使用使用参数WHERE

的SQL语句

例如

SELECT * From YourTable WHERE Operator=AB