R. 如何识别规则
R. How to identify rules
有谁知道如何识别显示哪些治疗通常用于哪些疾病的规则。我有这个数据。第一列 - 患者,第二列 - 疾病,第三列 - 药物。
P1 D1 M1
P1 D2 M1
P2 D3 M2 M3
P2 D4 M4
P2 D1 M5
P2 D2 M6 M7 M8
P2 D1 M4 M9
P2 D8 M10
P3 D9 M11
我用这段代码读取了以下数据
t <- read.transactions("data.txt", format="basket", sep="\t", cols=1)
dt = apriori(t, parameter = list(support=0.002, confidence =0.5))
inspect(dt)
首先,将您的数据从宽格式更改为长格式。您可以使用 reshape()
来执行此操作。由于您没有提供变量名,因此您的代码将类似于:
reshape(d, direction="long", varying=list(names(d)[2:7]), v.names="Treatment", idvar=c("PatientID"))
当您这样做时,您的数据将如下所示:
P1 D1 M1
P1 D2 M1
P2 D3 M2
P2 D3 M3
P2 D4 M4
P2 D1 M5
P2 D2 M6
P2 D2 M7
P2 D2 M8
P2 D1 M4
P2 D1 M9
P2 D8 M10
P3 D9 M11
完成后,您可以轻松创建一个 2x2 table 来查看疾病的治疗频率。为此,您的代码将如下所示:
table(d$disease, d$M)
制作(类似)这个:
M1 M2 M3
D1 1 0 0
D2 1 1 1
有谁知道如何识别显示哪些治疗通常用于哪些疾病的规则。我有这个数据。第一列 - 患者,第二列 - 疾病,第三列 - 药物。
P1 D1 M1
P1 D2 M1
P2 D3 M2 M3
P2 D4 M4
P2 D1 M5
P2 D2 M6 M7 M8
P2 D1 M4 M9
P2 D8 M10
P3 D9 M11
我用这段代码读取了以下数据
t <- read.transactions("data.txt", format="basket", sep="\t", cols=1)
dt = apriori(t, parameter = list(support=0.002, confidence =0.5))
inspect(dt)
首先,将您的数据从宽格式更改为长格式。您可以使用 reshape()
来执行此操作。由于您没有提供变量名,因此您的代码将类似于:
reshape(d, direction="long", varying=list(names(d)[2:7]), v.names="Treatment", idvar=c("PatientID"))
当您这样做时,您的数据将如下所示:
P1 D1 M1
P1 D2 M1
P2 D3 M2
P2 D3 M3
P2 D4 M4
P2 D1 M5
P2 D2 M6
P2 D2 M7
P2 D2 M8
P2 D1 M4
P2 D1 M9
P2 D8 M10
P3 D9 M11
完成后,您可以轻松创建一个 2x2 table 来查看疾病的治疗频率。为此,您的代码将如下所示:
table(d$disease, d$M)
制作(类似)这个:
M1 M2 M3
D1 1 0 0
D2 1 1 1