我有一个数据集,如下所示:
patient_id pre.int.outcome post.int.outcome
302949 1 1
993564 0 1
993570 1 1
993575 0 1
993792 1 0
我想为每位患者进行clogit干预前后
我了解我需要将其整理成表格:
strata outcome
1 1
1 1
2 0
2 0
3 0
3 1
在这种形式中,层次是成对的患者编号和结果,但是我不确定如何做到。任何人都可以提供帮助或直接找到可以提供帮助的来源吗?
编辑:我最终要做的是使用reshape函数使数据集“长”而不是“宽”;
ds1<-reshape(ds, varying=c('pre.int.outcome','post.int.outcome'), v.names='outcome', timevar='before_after', times=c(0,1), direction='long')
我按Patient_id排序,以将其用作我的“阶层”。
ds1[order(ds1$patient_id),]
最佳答案
也许这会有所帮助
data.frame(strata= rep(1:nrow(df1), each=2), outcome=c(t(df1[2:3])))