我试图(最终)使用prodlim函数按组绘制数据。
我正在调整和调整别人(没有问题的人)编写的代码,而我对prodlim库/函数不是很熟悉。当然,还有其他方法可以完成我想做的事情,但我正在努力使其与上一个人所做的保持一致。
当将数据分为2组时,我有可以工作的代码,但是当我尝试针对4组情况进行调整时,出现错误。
值得注意的是,数据是通过使用StatTransfer的SAS传输过来的,效果很好。
我是编码的新手,但是我已经比较了要使用的数据帧。第二个只是第一个的子集(代码在其中起作用),具有所有相同的变量,而我要分组的两个变量都是整数值。
Hist(medpop$dz_time, medpop$dz_status)
可以正常工作,所以问题一定出在prodlim函数上,可悲的是我还不了解我所查找的内容:/但它的文档似乎表明它支持连续或分类变量,而且似乎也不限于二进制。据我了解,这些选项似乎都不适用。
这有效:
M <- prodlim(Hist(dz_time, dz_status)~med, data=pop)
其中med是该种群中的一员服用时的二进制值= 1,而dz是某些部分发生的疾病。
这不是: (它们中的任何一个都会出现以下错误)
N <- prodlim(Hist(dz_time, dz_status)~strength, data=medpop)
N <- prodlim(Hist(dz_time, dz_status)~strength, data=pop, subset=pop$med==1)
medpop =服用med的原始人群的子集,
strength =分类变量(“ 1”,“ 2”,“ 3”,“ 4”)
对于行得通的行,下一步就是plot(M)
,给出包含两条行的图,med == 0和med == 1(显示dz_time的dz_status累积发生率)。
对于另一行,我收到一条错误消息,
Error in KernSmooth::dpik(cumtabx/N, kernel = "box") :
scale estimate is zero for input data
我不知道这意味着什么或如何解决..:/