我有一个很长的(垂直堆叠)数据集,其中包含10个插补(变量“输入”标识插补编号)。插补是在SAS中完成的,但我想使用R计算一些c统计量。
我知道如何使用cindex函数和FGR函数为一个估算数据集计算c-stats。我不确定如何在垂直堆叠的数据集中重复此操作。我尝试使用“ with”功能,但没有运气。
这是我的代码:
fgr.model <- FGR(Hist(time, outcome) ~ x1 + x2 + x3, data=mydata1, cause=1)
cscore <- cindex(list(fgr.model), forumula=Hist(time, outcome)~1,
cens.model="marginal", data=mydata1, eval.time=c(1826), cause=1)
如何在垂直堆叠的数据集中使用cindex函数和FGR函数计算c-stats?
答案 0 :(得分:0)
基于评论中的详细信息:我了解到您需要在原始数据帧mydata1
的分区上计算统计信息-即,您只需要选择与一个“输入”相对应的行(此操作是您使用的名字,是不是用一个错误的词指一个..“输入会话”?只是好奇)
首先,您必须创建一个仅包含一个“输入”数据的新数据框,在以下示例中,我们考虑对插补数字4的运算。有多种方法可以完成工作。
如果列名正确,第一种可行的方法:
mydata1portion = mydata1[mydata1$ImputationNo==4,]
如果列的位置/顺序正确,则第二个有效:
mydata1portion = mydata1[mydata1$V1==4,]
以第三种方式排列数据帧的插补/行。
mydata1portion = mydata1[(100*(4-1)+1):(100*4),]
前两个您使用列ImputationNo
的值来过滤数据框,在最后一个中,您根据行的位置剪切数据框。
最后,您可以计算获得的mydata1portion
的统计信息,而不是完整mydata1
的统计信息。