0

私は生存分析の教科書の例に従おうとしていますが、ここでどこが間違っているのかわかりません:

df1 <- as.data.frame( cbind(seq(1:5),c(6,44,21,14,62),c(1,1,0,1,1)) )
names(df1) <- c('subject','time','censor')
require(survival)
f1 <- survfit(Surv(time=time, event=censor) ~1, data=df1)
quantile(f1)

これにより、次のようになります。

Error in xi == xj : comparison of these types is not implemented
In addition: Warning messages:
1: In `[.survfit`(x, !nas) :Survfit object has only a single survival curve
2: In `[.survfit`(x, i) : Survfit object has only a single survival curve
3: In `[.survfit`(x, j) : Survfit object has only a single survival curve

複数の曲線を持つ survfit オブジェクトでこれを試しましたが、同じメッセージが表示されます...

「R バージョン 2.14.1 (2011-12-22)」

「x86_64-pc-linux-gnu」

search() からの出力:

[1] ".GlobalEnv"        "package:km.ci"     "package:survival" 
[4] "package:splines"   "package:stats"     "package:graphics" 
[7] "package:grDevices" "package:utils"     "package:datasets" 
[10] "package:methods"   "Autoloads"         "package:base"     

どうもありがとう!

編集: DWin に感謝しhelp(Surv)ます。

ただし、まだ同じエラーメッセージが表示されます。quantile.survfit {survival}S3ジェネリックとして文書化されている:のヘルプを読んでいる ので、使用quantile(f1)するとこのメソッドが呼び出されるはずだと思っていました。

ただし、次の方法では機能しないことがわかりました。

survival:::quantile.survfit(f1) 

与えます:

Error: 'quantile.survfit' is not an exported object from 'namespace:survival'

サバイバルを再インストールしようとしましたが、それはまだ最新バージョンです:survival_2.36-10

4

1 に答える 1

1

気になる点が2つ。Iのヘルプ ページにSurv次の文が表示されSurv(time, dead)ますSurv(time, event=dead)。呼び出しでイベント引数を削除することで、コードで発生した最初の問題を解決します。

f1 <- survfit(Surv(time=time, censor) ~1, data=df1)

しかし、それが適切なオブジェクト、つまりリストであることを期待していましたが、quantile反対したことには驚きませんでした。

> quantile(f1)
Error in approx(c(0, 1 - newy), c(0:length(newy)), p) : 
  need at least two non-NA values to interpolate

それで、あなたは欲しかったですか:

> quantile(f1$time)
  0%  25%  50%  75% 100% 
   6   14   21   44   62     # ???
于 2012-09-30T00:42:24.270 に答える