你好这里的R专家,
我是一名试图学习 R 的 Stata 程序员。我有一个数据框,其中每个行 ID 都有针对它的值作为 df1:
df1 <- data.frame(name=c("John", "Mary", "Joe", "Tim", "Bob", "Pat"),
v1=c(14,2,3,4,14,1),
v2=c(21,6,19,31,16,5),
v3=c(32,10,22,33,27,30),
v4=c(42,17,45,39,34,35),
v5=c(98,35,66,0,78,99),
v6=c(117,49,0,0, 89,186))
每个访客 ID 的列中的值范围从 1 到 1000。这些基本上是每个访客 ID 在 1000 天内访问医生的天数。部分患者症状消失后停止就诊,部分患者继续服药并按照医生的规定进行常规就诊。如果疾病复发,一些患者会在很长一段时间后再次访问。
我想创建一个稀疏矩阵,其中包含从 1 到 1000 天拜访医生的所有 ID。您能否建议如何创建稀疏矩阵。它在 Stata 中非常简单直接,但我无法在 R 中找到方法。
最终结果应采用以下形式:
name 1 2 3 4 5 6 10 14 16 17 19 21
John 1 1
Mary 1 1 1 1
Joe 1 1
创建稀疏矩阵后,我必须预测患者下次去看医生的时间。我计划创建一个稀疏矩阵,然后创建最后两次连续访问之间差异的计算变量,然后对其使用逻辑回归。是否可以生成更多的 KPI 以仅使用给定的信息进行稳健的分析?有人可以建议这个想法是否正确,或者是否有更好的方法来解决它。
提前致谢。