R 开始时概率小于1的生存分析

R 开始时概率小于1的生存分析,r,probability,survival-analysis,R,Probability,Survival Analysis,我试图创建一个图表,显示一首歌曲在一段时间内(图表中的几周)进入公告牌热门100强前10名的概率。当一首歌进入排行榜时,概率应该是0.15左右,接下来的每周都会下降。因此,图表应该是从0.15开始的下降曲线,x(图表中的周数)和y(到达前10名的概率) 1) 我能用Kaplan-Meier曲线来做这个吗 2) 我如何才能在R(生存包)中创建一个不以1的概率开始的卡普兰-迈耶曲线?有点……有点……不太可能 首先,你可能不想要一个典型的Kaplan-Meier曲线,它描绘了生存函数。你需要补体,或者

我试图创建一个图表,显示一首歌曲在一段时间内(图表中的几周)进入公告牌热门100强前10名的概率。当一首歌进入排行榜时,概率应该是0.15左右,接下来的每周都会下降。因此,图表应该是从0.15开始的下降曲线,x(图表中的周数)和y(到达前10名的概率)

1) 我能用Kaplan-Meier曲线来做这个吗


2) 我如何才能在R(生存包)中创建一个不以1的概率开始的卡普兰-迈耶曲线?

有点……有点……不太可能

首先,你可能不想要一个典型的Kaplan-Meier曲线,它描绘了生存函数。你需要补体,或者累积发病率。(
1-S(x)
)。这将以0的概率开始情节,表明无歌在发布的那一刻就进入了前十名(有点,sorta)

对于已发布且在第一周排名前十的歌曲,您需要将后续时间标记为0,前十名标记为1。通过这种方式,虽然step函数在技术上是从零开始的,但它将立即提升到第一周排名前十的歌曲的比例

例如:

library(survival)

df <-
  data.frame(song = c("A", "B", "C", "D", "E"),
             # number of weeks followed before reaching top ten
             # (or truncation)
             weeks_followed = c(0, 3, 4, 13, 1),
             topten = c(1, 0, 1, 0, 1),
             stringsAsFactors = FALSE)

fit <- survfit(Surv(weeks_followed, topten) ~ 1,
               data = df)

plot(fit,
     conf.int = FALSE,
     # 1 - survival 
     fun = function(x) 1 - x,
     xlim = c(0, 13),
     ylim = c(0, 1))
库(生存)

有点……有点……不太好

首先,你可能不想要一个典型的Kaplan-Meier曲线,它描绘了生存函数。你需要补体,或者累积发病率。(
1-S(x)
)。这将以0的概率开始情节,表明无歌在发布的那一刻就进入了前十名(有点,sorta)

对于已发布且在第一周排名前十的歌曲,您需要将后续时间标记为0,前十名标记为1。通过这种方式,虽然step函数在技术上是从零开始的,但它将立即提升到第一周排名前十的歌曲的比例

例如:

library(survival)

df <-
  data.frame(song = c("A", "B", "C", "D", "E"),
             # number of weeks followed before reaching top ten
             # (or truncation)
             weeks_followed = c(0, 3, 4, 13, 1),
             topten = c(1, 0, 1, 0, 1),
             stringsAsFactors = FALSE)

fit <- survfit(Surv(weeks_followed, topten) ~ 1,
               data = df)

plot(fit,
     conf.int = FALSE,
     # 1 - survival 
     fun = function(x) 1 - x,
     xlim = c(0, 13),
     ylim = c(0, 1))
库(生存)

这是一个有趣的问题。我想stats.stackexchange.com可能会有更多的话要说

我不认为这与生存率类似,因此我认为卡普兰·迈耶或任何其他生存率估计员都不会做你想要的事情

这是一个时间事件的一种问题;在网上搜索这个词可能会找到一些资源。但这不是一个生存或可靠性问题,因为所讨论的事件并不是最终发生在所有受试者身上(就像死亡或机械故障一样)。事实上,这一事件非常罕见

我的建议是咬紧牙关,自己计算概率,数一数进入前十名的歌曲。您提到的基本语句只是计算p[k]=m[k]/n[k],为了方便起见,我定义了m[k]=(在图表上至少停留了k周并最终达到前10名的歌曲数)和n[k]=(在图表上至少停留了k周的歌曲数)。我认为p[k]在k中不一定是单调的——如果其中有一个凹凸,我也不会感到惊讶。无论如何,找点东西

从图表上掉下来又回到图表上的歌曲有点把画面弄得一团糟。我的建议是把它们当作一直在图表上。但是你可能对如何处理它们有不同的想法

我可以看到一个有趣的变化。那么p[j,k]=(在排行榜上至少k周后最终达到前10名的歌曲比例是多少,当前排行榜的位置是j)?或者相同,但初始位置是j?毫无疑问还有其他的


祝你好运,玩得开心。

这是一个有趣的问题。我想stats.stackexchange.com可能会有更多的话要说

我不认为这与生存率类似,因此我认为卡普兰·迈耶或任何其他生存率估计员都不会做你想要的事情

这是一个时间事件的一种问题;在网上搜索这个词可能会找到一些资源。但这不是一个生存或可靠性问题,因为所讨论的事件并不是最终发生在所有受试者身上(就像死亡或机械故障一样)。事实上,这一事件非常罕见

我的建议是咬紧牙关,自己计算概率,数一数进入前十名的歌曲。您提到的基本语句只是计算p[k]=m[k]/n[k],为了方便起见,我定义了m[k]=(在图表上至少停留了k周并最终达到前10名的歌曲数)和n[k]=(在图表上至少停留了k周的歌曲数)。我认为p[k]在k中不一定是单调的——如果其中有一个凹凸,我也不会感到惊讶。无论如何,找点东西

从图表上掉下来又回到图表上的歌曲有点把画面弄得一团糟。我的建议是把它们当作一直在图表上。但是你可能对如何处理它们有不同的想法

我可以看到一个有趣的变化。那么p[j,k]=(在排行榜上至少k周后最终达到前10名的歌曲比例是多少,当前排行榜的位置是j)?或者相同,但初始位置是j?毫无疑问还有其他的


祝你好运,玩得开心。

我不确定你想要实现什么?您想为单曲绘制曲线吗?Kaplan-Meier曲线是针对二元事件时间数据的生存数据(因此,曲线在人群中1个人获得结果的那一刻向下),而不是针对一个人(无论是一个人还是一首歌曲)的建模概率。我想展示任何歌曲进入前10名的概率曲线(6000首歌曲的整个数据集有一条曲线)。事件(二进制)达到前10名,当一首歌曲达到前10名(或完全离开图表)时,曲线应该下降。因此:周