Kaplan-Meier plot (Japanese ver)

## Settings for RMarkdown http://yihui.name/knitr/options#chunk_options
opts_chunk$set(comment = "", warning = FALSE, message = FALSE, tidy = FALSE, 
    echo = TRUE, fig.width = 10, fig.height = 8)
options(width = 116, scipen = 10)
## Introductory Statistics with R 2nd ed. (Peter Dalgaard)のデータを使っています。
## 1版は和訳 Rによる医療統計学 (岡田 昌史) もあります。

## 使い方
## このコードをコピーして手元のRのエディタに貼付ける。
## Windows版では左上 [ファイル] → [新しいスクリプト]でエディタ。
## Mac版では真っ白い紙の形のアイコンでエディタ。
## 実行する行、あるいは範囲を選択して
## WindowsであればCtrl+R、MacであればCommand+Returnで実行。


## インストール用の関数定義
## rownames(installed.packages()でインストールされているパッケージの一覧
## PKG %in% ... という表現は...の中にPKGが含まれればTRUEを返します。!をつけて評価を逆転。
inst <- function (PKG) {
    if (!(PKG %in% rownames(installed.packages()))) {
        install.packages(pkgs = PKG, dependencies = TRUE)
    }
}

## Introductory Statistics with Rのデータ集(ISwR)をインストール。
inst("ISwR")
## library()はパッケージを読み込むコマンド。ISwRが上記の本のデータ集パッケージです。
library(ISwR)


## EstoniaのTartuという都市の脳血管障害のデータを使用します。
## J. Korv, M. Roose, and A.E. Kaasik (1997). Stroke Registry of Tartu, Estonia, from 1991 through 1993. Cerebrovascular Disorders 7:154–162.
## http://content.karger.com/ProdukteDB/produkte.asp?Aktion=ShowAbstract&ArtikelNr=108182&Ausgabe=232923&ProduktNr=224153
data(stroke)

## データベースの説明は?strokeでみられます。
?stroke

## strokeから必要な変数のみかつcomplete casesを抜き出す n=814
## stroke[ ,c(-2,-3)] というのはstroke[行, 列]という形で抜き出します。
## マイナス指定をすると2,3列目以外という意味です。
## Strokeという名前の新しいデータベースにしました。
Stroke <- stroke[complete.cases(stroke[,c(-2,-3)]),c(-2,-3)]

## 先頭10行をhead()で表示してみます。hanは高血圧既往のようです。
head(Stroke, n = 10)
      sex age dgn coma diab minf han  dead obsmonths
1    Male  76 INF   No   No  Yes  No  TRUE   0.16340
2    Male  58 INF   No   No   No  No FALSE  59.60784
3    Male  74 INF   No   No  Yes Yes  TRUE   4.73856
4  Female  77 ICH   No  Yes   No Yes  TRUE   0.06536
5  Female  76 INF   No  Yes   No Yes FALSE  59.28105
6    Male  48 ICH  Yes   No   No Yes  TRUE   0.10000
7  Female  81 INF   No   No   No Yes  TRUE  34.37908
8    Male  53 INF   No   No  Yes Yes  TRUE  10.84967
9  Female  73  ID   No   No   No Yes FALSE  59.21569
10 Female  69 INF   No   No   No Yes  TRUE  33.66013


## column名をわかりやすく書き換える。diagnosisはICH, ID (unidentified), INF (INFarction), SAH
## ちょっとわかりにくいですが、names(Strokes)でcolumn名の一覧が出るのでそれを置き換えるという方法。
names(Stroke) <- c("sex","age","diagnosis","coma","diabetes","MI","HTN","dead","time_mo")

## サマリー機能を使ってみましょう。集計やquartileがでます。
summary(Stroke)
     sex           age       diagnosis  coma     diabetes    MI       HTN         dead            time_mo     
 Female:500   Min.   : 1.0   ICH: 79   No :735   No :717   No :718   No :405   Mode :logical   Min.   : 0.03  
 Male  :314   1st Qu.:61.0   ID :190   Yes: 79   Yes: 97   Yes: 96   Yes:409   FALSE:343       1st Qu.: 0.60  
              Median :71.0   INF:498                                           TRUE :471       Median :21.68  
              Mean   :69.7   SAH: 47                                           NA's :0         Mean   :20.93  
              3rd Qu.:81.0                                                                     3rd Qu.:37.12  
              Max.   :96.0                                                                     Max.   :59.61  


## 生存分析用のsurvivalパッケージを読み込みます。元々入っているのでインストール不要。
library(survival)

## survplotというnumber at riskを表示してくれるグラフかきのコマンドのためrmsパッケージインストール。
## 昔はDesignを使っていましたがパッケージがなくなったようです。
inst("rms") ; library(rms)

## 性別で群分けしただけのKM estimator。 outcome 〜 sexの単説明変数モデルを作ります。
## survfit(Surv(時間変数, イベント変数) ~ 層別化因子, data = データ名)の書式です。
## 群分けしない時は ~ 1としてください。
fit.1 <- survfit(Surv(time_mo, dead) ~ sex, data = Stroke)

## プロットします。
## CONFidence intervalなし、Number at RISKあり、時間の刻み6ヶ月です。
survplot(fit.1,
         conf = "none", n.risk = TRUE, xlab = "Months", time.inc = 6)

plot of chunk unnamed-chunk-2


## log rank検定では有意差あり。ただしこれは交絡因子を考慮していない。
## survdiff(Surv(時間変数, イベント変数) ~ 層別化因子, data = データ名)の書式です。
survdiff(Surv(time_mo, dead) ~ sex, data = Stroke)
Call:
survdiff(formula = Surv(time_mo, dead) ~ sex, data = Stroke)

             N Observed Expected (O-E)^2/E (O-E)^2/V
sex=Female 500      312      271      6.17      14.7
sex=Male   314      159      200      8.36      14.7

 Chisq= 14.7  on 1 degrees of freedom, p= 0.000125 

## 年齢の影響を階層化で取り除けるか見てみます。
## age年齢の変数を65歳で分割して因子にしています。FALSE,TRUEになるのでYoung, Oldとラベルを付けます。
## with(Stroke, ...)とすることでStroke$ageと書かないで済みます。
Stroke$old <- with(Stroke, factor(age >= 65, levels = c(FALSE, TRUE), labels=c("Young","Old")))
fit.2 <- survfit(Surv(time_mo, dead) ~ sex + old, data = Stroke)
survplot(fit.2, conf = "none", n.risk = TRUE, xlab = "Months", time.inc = 6)

plot of chunk unnamed-chunk-2





## グラフを詳細に指定するデモ。
## そのまま表示すると各群のn、イベント数、median survival(50%死んでいないとでない)がでる。
fit.2
Call: survfit.formula(formula = Surv(time_mo, dead) ~ sex + old, data = Stroke)

                      records n.max n.start events median 0.95LCL 0.95UCL
sex=Female, old=Young     114   114     114     37     NA      NA      NA
sex=Female, old=Old       386   386     386    275   3.81    2.09    7.25
sex=Male, old=Young       166   166     166     58     NA   51.90      NA
sex=Male, old=Old         148   148     148    101  13.01    5.56   21.44

## summary()を使うと、各群のイベント発生時ごとのsurvival estimationがでる。
summary(fit.2)
Call: survfit.formula(formula = Surv(time_mo, dead) ~ sex + old, data = Stroke)

                sex=Female, old=Young 
    time n.risk n.event survival std.err lower 95% CI upper 95% CI
  0.0327    114       1    0.991 0.00873        0.974        1.000
  0.0654    113       2    0.974 0.01499        0.945        1.000
  0.0980    111       2    0.956 0.01918        0.919        0.994
  0.1000    109       5    0.912 0.02649        0.862        0.966
  0.1961    104       1    0.904 0.02765        0.851        0.959
  0.2288    103       2    0.886 0.02977        0.829        0.946
  0.2614    101       3    0.860 0.03253        0.798        0.926
  0.2941     98       3    0.833 0.03490        0.768        0.905
  0.3268     95       2    0.816 0.03631        0.748        0.890
  0.4248     93       1    0.807 0.03696        0.738        0.883
  0.4575     92       1    0.798 0.03759        0.728        0.875
  0.8824     91       1    0.789 0.03818        0.718        0.868
  1.1111     90       1    0.781 0.03875        0.708        0.860
  1.3399     89       1    0.772 0.03930        0.699        0.853
  1.6340     88       1    0.763 0.03982        0.689        0.845
  2.3203     87       1    0.754 0.04032        0.679        0.838
  2.8758     86       1    0.746 0.04079        0.670        0.830
  3.9216     85       1    0.737 0.04124        0.660        0.822
  6.0458     84       1    0.728 0.04167        0.651        0.815
 20.3268     83       1    0.719 0.04208        0.641        0.807
 21.6667     82       1    0.711 0.04248        0.632        0.799
 26.6013     72       1    0.701 0.04302        0.621        0.790
 31.8627     55       1    0.688 0.04408        0.607        0.780
 33.3007     51       1    0.674 0.04523        0.591        0.769
 34.7059     45       1    0.659 0.04664        0.574        0.758

                sex=Female, old=Old   
    time n.risk n.event survival std.err lower 95% CI upper 95% CI
  0.0327    386      12    0.969 0.00883        0.952        0.986
  0.0654    374      13    0.935 0.01253        0.911        0.960
  0.0980    361       6    0.920 0.01383        0.893        0.947
  0.1000    355       8    0.899 0.01534        0.869        0.930
  0.1307    347       8    0.878 0.01664        0.846        0.911
  0.1634    339       5    0.865 0.01738        0.832        0.900
  0.1961    334       7    0.847 0.01832        0.812        0.884
  0.2288    327       7    0.829 0.01916        0.792        0.867
  0.2614    320      11    0.801 0.02034        0.762        0.841
  0.2941    309       7    0.782 0.02100        0.742        0.825
  0.3268    302       8    0.762 0.02169        0.720        0.805
  0.3595    294       3    0.754 0.02192        0.712        0.798
  0.3922    291       7    0.736 0.02244        0.693        0.781
  0.4248    284       6    0.720 0.02285        0.677        0.766
  0.4575    278       4    0.710 0.02310        0.666        0.757
  0.4902    274       2    0.705 0.02322        0.661        0.752
  0.5229    272       4    0.694 0.02345        0.650        0.742
  0.5882    268       3    0.687 0.02361        0.642        0.734
  0.6209    265       1    0.684 0.02366        0.639        0.732
  0.6536    264       2    0.679 0.02377        0.634        0.727
  0.6863    262       3    0.671 0.02392        0.626        0.720
  0.7516    259       3    0.663 0.02406        0.618        0.712
  0.7843    256       4    0.653 0.02423        0.607        0.702
  0.8170    252       4    0.642 0.02439        0.596        0.692
  0.8497    248       1    0.640 0.02443        0.594        0.690
  0.8824    247       2    0.635 0.02451        0.588        0.685
  0.9150    245       2    0.630 0.02458        0.583        0.680
  0.9477    243       1    0.627 0.02462        0.581        0.677
  0.9804    242       3    0.619 0.02472        0.573        0.670
  1.0131    239       1    0.617 0.02475        0.570        0.667
  1.0784    238       3    0.609 0.02484        0.562        0.659
  1.1111    235       3    0.601 0.02492        0.554        0.652
  1.1765    232       3    0.593 0.02500        0.546        0.644
  1.2418    229       3    0.585 0.02507        0.538        0.637
  1.2745    226       3    0.578 0.02514        0.530        0.629
  1.3072    223       2    0.573 0.02518        0.525        0.624
  1.3725    221       1    0.570 0.02520        0.523        0.622
  1.4379    220       2    0.565 0.02523        0.517        0.616
  1.5686    218       2    0.560 0.02527        0.512        0.611
  1.6340    216       2    0.554 0.02530        0.507        0.606
  1.6667    214       2    0.549 0.02533        0.502        0.601
  2.0915    212       1    0.547 0.02534        0.499        0.599
  2.2222    211       2    0.541 0.02536        0.494        0.594
  2.2549    209       1    0.539 0.02537        0.491        0.591
  2.4510    208       1    0.536 0.02538        0.489        0.588
  2.4837    207       1    0.534 0.02539        0.486        0.586
  2.5817    206       2    0.528 0.02541        0.481        0.581
  2.7451    204       1    0.526 0.02542        0.478        0.578
  2.7778    203       2    0.521 0.02543        0.473        0.573
  2.8105    201       1    0.518 0.02543        0.471        0.570
  2.9085    200       1    0.516 0.02544        0.468        0.568
  3.0719    199       1    0.513 0.02544        0.465        0.565
  3.1046    198       1    0.510 0.02544        0.463        0.563
  3.3333    197       2    0.505 0.02545        0.458        0.558
  3.6275    195       1    0.503 0.02545        0.455        0.555
  3.7582    194       1    0.500 0.02545        0.453        0.552
  3.8562    193       1    0.497 0.02545        0.450        0.550
  4.0196    192       1    0.495 0.02545        0.447        0.547
  4.6078    191       1    0.492 0.02545        0.445        0.545
  4.6405    190       2    0.487 0.02544        0.440        0.540
  4.6732    188       1    0.484 0.02544        0.437        0.537
  4.7059    187       2    0.479 0.02543        0.432        0.532
  4.8039    185       1    0.477 0.02542        0.429        0.529
  4.9346    184       1    0.474 0.02542        0.427        0.527
  5.0654    183       1    0.472 0.02541        0.424        0.524
  5.5882    182       1    0.469 0.02540        0.422        0.521
  5.6536    181       1    0.466 0.02539        0.419        0.519
  6.0131    180       1    0.464 0.02538        0.417        0.516
  6.1765    179       1    0.461 0.02537        0.414        0.514
  6.4379    178       1    0.459 0.02536        0.411        0.511
  6.6013    177       1    0.456 0.02535        0.409        0.508
  7.0915    176       1    0.453 0.02534        0.406        0.506
  7.2222    175       2    0.448 0.02531        0.401        0.501
  7.2549    173       1    0.446 0.02530        0.399        0.498
  7.3203    172       1    0.443 0.02528        0.396        0.495
  7.5490    171       1    0.440 0.02527        0.394        0.493
  8.5294    170       1    0.438 0.02525        0.391        0.490
  9.5098    169       1    0.435 0.02523        0.388        0.488
  9.9346    168       1    0.433 0.02522        0.386        0.485
 10.1961    167       1    0.430 0.02520        0.383        0.482
 10.4575    166       1    0.427 0.02518        0.381        0.480
 12.8105    165       1    0.425 0.02516        0.378        0.477
 13.3660    164       1    0.422 0.02514        0.376        0.475
 13.5621    163       1    0.420 0.02512        0.373        0.472
 13.6275    162       1    0.417 0.02510        0.371        0.469
 13.9869    161       1    0.415 0.02507        0.368        0.467
 15.6863    160       1    0.412 0.02505        0.366        0.464
 15.7190    159       1    0.409 0.02503        0.363        0.461
 15.9150    158       1    0.407 0.02500        0.361        0.459
 16.0131    157       1    0.404 0.02498        0.358        0.456
 16.2745    156       1    0.402 0.02495        0.356        0.454
 16.3725    155       1    0.399 0.02492        0.353        0.451
 17.0261    154       1    0.396 0.02490        0.350        0.448
 18.2353    153       1    0.394 0.02487        0.348        0.446
 18.5621    152       1    0.391 0.02484        0.345        0.443
 18.6275    151       1    0.389 0.02481        0.343        0.440
 18.9542    150       1    0.386 0.02478        0.340        0.438
 20.0327    149       1    0.383 0.02475        0.338        0.435
 20.3922    148       1    0.381 0.02472        0.335        0.432
 20.5556    147       1    0.378 0.02468        0.333        0.430
 20.8497    146       1    0.376 0.02465        0.330        0.427
 21.6993    145       1    0.373 0.02462        0.328        0.425
 22.4837    144       1    0.370 0.02458        0.325        0.422
 23.5948    143       1    0.368 0.02454        0.323        0.419
 23.6601    142       1    0.365 0.02451        0.320        0.417
 24.2157    139       1    0.363 0.02447        0.318        0.414
 24.3137    137       1    0.360 0.02444        0.315        0.411
 24.3464    136       1    0.357 0.02440        0.313        0.409
 24.4444    135       1    0.355 0.02436        0.310        0.406
 24.5098    133       1    0.352 0.02432        0.307        0.403
 25.0327    131       1    0.349 0.02429        0.305        0.400
 25.1961    129       1    0.347 0.02425        0.302        0.398
 26.4379    125       1    0.344 0.02421        0.300        0.395
 26.5359    124       1    0.341 0.02418        0.297        0.392
 27.5163    120       1    0.338 0.02414        0.294        0.389
 27.8758    119       1    0.335 0.02411        0.291        0.386
 27.9085    118       1    0.333 0.02407        0.289        0.383
 28.1046    116       1    0.330 0.02403        0.286        0.380
 28.1373    115       1    0.327 0.02399        0.283        0.377
 29.1503    109       1    0.324 0.02396        0.280        0.374
 30.4248    105       1    0.321 0.02393        0.277        0.371
 30.7516    103       1    0.318 0.02390        0.274        0.368
 31.8627     97       1    0.314 0.02387        0.271        0.365
 32.8105     93       1    0.311 0.02386        0.268        0.361
 32.9739     92       1    0.308 0.02383        0.264        0.358
 33.6601     88       1    0.304 0.02382        0.261        0.355
 34.3791     85       1    0.301 0.02381        0.257        0.351
 35.1634     79       1    0.297 0.02381        0.254        0.347
 36.4379     72       1    0.293 0.02383        0.249        0.343
 38.4641     66       1    0.288 0.02388        0.245        0.339
 38.7908     64       1    0.284 0.02393        0.240        0.335
 39.8039     62       1    0.279 0.02397        0.236        0.330
 41.3399     57       1    0.274 0.02405        0.231        0.326
 42.8431     54       1    0.269 0.02413        0.226        0.321
 47.1242     35       1    0.261 0.02464        0.217        0.314

                sex=Male, old=Young 
    time n.risk n.event survival std.err lower 95% CI upper 95% CI
  0.0327    166       3    0.982  0.0103        0.962        1.000
  0.0654    163       3    0.964  0.0145        0.936        0.993
  0.0980    160       1    0.958  0.0156        0.928        0.989
  0.1000    159       8    0.910  0.0223        0.867        0.954
  0.2614    151       1    0.904  0.0229        0.860        0.950
  0.2941    150       1    0.898  0.0235        0.853        0.945
  0.3595    149       1    0.892  0.0241        0.845        0.940
  0.3922    148       2    0.880  0.0253        0.831        0.930
  0.6863    146       1    0.873  0.0258        0.824        0.926
  0.8170    145       1    0.867  0.0263        0.817        0.921
  1.3725    144       1    0.861  0.0268        0.810        0.916
  1.4052    143       1    0.855  0.0273        0.804        0.911
  1.6667    142       1    0.849  0.0278        0.797        0.906
  1.9281    141       1    0.843  0.0282        0.790        0.901
  2.1895    140       1    0.837  0.0286        0.783        0.895
  3.3007    139       1    0.831  0.0291        0.776        0.890
  3.4641    138       1    0.825  0.0295        0.770        0.885
  3.9542    137       2    0.813  0.0302        0.756        0.875
  4.3791    135       1    0.807  0.0306        0.749        0.870
  5.5229    134       1    0.801  0.0310        0.743        0.864
  6.4706    133       1    0.795  0.0313        0.736        0.859
  7.2222    132       1    0.789  0.0317        0.729        0.854
  7.3203    131       1    0.783  0.0320        0.723        0.848
  7.4837    130       1    0.777  0.0323        0.716        0.843
  7.7451    129       1    0.771  0.0326        0.710        0.838
  9.0196    128       1    0.765  0.0329        0.703        0.832
  9.5098    127       1    0.759  0.0332        0.697        0.827
 10.0980    126       1    0.753  0.0335        0.690        0.822
 10.8497    125       1    0.747  0.0337        0.684        0.816
 10.8824    124       1    0.741  0.0340        0.677        0.811
 11.2418    123       1    0.735  0.0343        0.671        0.805
 15.9150    122       1    0.729  0.0345        0.664        0.800
 19.7059    121       1    0.723  0.0347        0.658        0.794
 21.9608    120       1    0.717  0.0350        0.652        0.789
 22.1569    119       1    0.711  0.0352        0.645        0.783
 25.7843    111       1    0.704  0.0354        0.638        0.777
 33.3333     89       1    0.697  0.0359        0.630        0.771
 34.5098     88       1    0.689  0.0364        0.621        0.764
 37.4510     73       1    0.679  0.0371        0.610        0.756
 43.6275     51       1    0.666  0.0387        0.594        0.746
 49.2810     38       1    0.648  0.0414        0.572        0.735
 51.1765     31       1    0.627  0.0451        0.545        0.722
 51.2092     30       1    0.607  0.0482        0.519        0.709
 51.8954     27       1    0.584  0.0514        0.492        0.694
 53.6601     17       1    0.550  0.0587        0.446        0.678

                sex=Male, old=Old   
    time n.risk n.event survival std.err lower 95% CI upper 95% CI
  0.0327    148       3    0.980  0.0116        0.957        1.000
  0.0654    145       2    0.966  0.0149        0.938        0.996
  0.0980    143       4    0.939  0.0196        0.901        0.978
  0.1000    139       4    0.912  0.0233        0.868        0.959
  0.1307    135       1    0.905  0.0241        0.859        0.954
  0.1634    134       2    0.892  0.0255        0.843        0.943
  0.1961    132       5    0.858  0.0287        0.804        0.916
  0.2288    127       4    0.831  0.0308        0.773        0.894
  0.2614    123       2    0.818  0.0317        0.758        0.882
  0.2941    121       1    0.811  0.0322        0.750        0.876
  0.3268    120       3    0.791  0.0334        0.728        0.859
  0.3595    117       3    0.770  0.0346        0.705        0.841
  0.3922    114       1    0.764  0.0349        0.698        0.835
  0.4575    113       1    0.757  0.0353        0.691        0.829
  0.4902    112       1    0.750  0.0356        0.683        0.823
  0.5229    111       1    0.743  0.0359        0.676        0.817
  0.5556    110       2    0.730  0.0365        0.662        0.805
  0.6536    108       2    0.716  0.0371        0.647        0.793
  0.7190    106       2    0.703  0.0376        0.633        0.780
  0.7516    104       1    0.696  0.0378        0.626        0.774
  0.8170    103       1    0.689  0.0380        0.619        0.768
  0.8824    102       1    0.682  0.0383        0.611        0.762
  1.0458    101       1    0.676  0.0385        0.604        0.755
  1.0784    100       1    0.669  0.0387        0.597        0.749
  1.3399     99       1    0.662  0.0389        0.590        0.743
  1.7320     98       1    0.655  0.0391        0.583        0.737
  1.7974     97       1    0.649  0.0392        0.576        0.730
  2.1569     96       1    0.642  0.0394        0.569        0.724
  2.3856     95       1    0.635  0.0396        0.562        0.718
  2.8431     94       1    0.628  0.0397        0.555        0.711
  2.9085     93       1    0.622  0.0399        0.548        0.705
  3.9216     92       1    0.615  0.0400        0.541        0.698
  4.2157     91       1    0.608  0.0401        0.534        0.692
  4.2810     90       1    0.601  0.0402        0.527        0.686
  4.3464     89       1    0.595  0.0404        0.521        0.679
  4.6078     88       1    0.588  0.0405        0.514        0.673
  4.7386     87       1    0.581  0.0406        0.507        0.666
  5.5556     86       1    0.574  0.0406        0.500        0.660
  5.6209     85       1    0.568  0.0407        0.493        0.653
  6.6340     84       1    0.561  0.0408        0.486        0.647
  7.6144     83       2    0.547  0.0409        0.473        0.634
  8.0719     81       1    0.541  0.0410        0.466        0.627
  8.4967     80       1    0.534  0.0410        0.459        0.621
  9.3464     79       1    0.527  0.0410        0.452        0.614
 10.2614     78       1    0.520  0.0411        0.446        0.607
 10.2941     77       1    0.514  0.0411        0.439        0.601
 11.3725     76       1    0.507  0.0411        0.432        0.594
 12.9085     75       1    0.500  0.0411        0.426        0.587
 13.1046     74       1    0.493  0.0411        0.419        0.581
 13.2353     73       1    0.486  0.0411        0.412        0.574
 13.8889     72       1    0.480  0.0411        0.406        0.567
 13.9542     71       1    0.473  0.0410        0.399        0.561
 14.9673     70       1    0.466  0.0410        0.392        0.554
 15.9477     69       1    0.459  0.0410        0.386        0.547
 15.9804     68       1    0.453  0.0409        0.379        0.540
 17.0261     67       1    0.446  0.0409        0.373        0.534
 18.0392     66       1    0.439  0.0408        0.366        0.527
 19.6732     65       1    0.432  0.0407        0.360        0.520
 19.9020     64       1    0.426  0.0406        0.353        0.513
 20.0000     63       1    0.419  0.0406        0.347        0.506
 21.4379     62       1    0.412  0.0405        0.340        0.500
 22.4510     61       1    0.405  0.0404        0.334        0.493
 23.6275     60       1    0.399  0.0402        0.327        0.486
 24.1830     59       1    0.392  0.0401        0.321        0.479
 24.6405     57       1    0.385  0.0400        0.314        0.472
 24.6732     56       1    0.378  0.0399        0.308        0.465
 24.9020     54       1    0.371  0.0398        0.301        0.458
 29.3137     39       1    0.362  0.0399        0.291        0.449
 29.7059     37       1    0.352  0.0400        0.282        0.440
 29.7712     36       1    0.342  0.0400        0.272        0.430
 33.2026     30       1    0.331  0.0403        0.260        0.420
 35.9150     25       1    0.317  0.0408        0.247        0.408
 35.9804     24       1    0.304  0.0412        0.233        0.397
 39.8693     22       1    0.290  0.0416        0.219        0.384
 42.5490     20       1    0.276  0.0419        0.205        0.372


## そのままグラフ化するといまいち。X軸も単位が間違っている。
survplot(fit.2)

plot of chunk unnamed-chunk-2


## これぐらい指定すればとりあえず見れる。
survplot(fit.2,
         xlab = "Month",          # X軸が標準でDaysになってしまうのでmonthにするあわせる
         conf = "none",           # 信頼区間は複数グラフのときは外す
         time.inc = 6,            # 何ヶ月ごとにX軸に数字をだすか
         n.risk = TRUE            # number at riskを表示する
         )

plot of chunk unnamed-chunk-2



## さらに詳細な設定で見やすいグラフを作成。
par()$mar                       # グラフ周囲の空白の幅。デフォルト表示。5.1 4.1 4.1 4.1。
[1] 5.1 4.1 4.1 4.1
par(mar=c(12,4,4,10))           # グラフ周囲のMARginの幅。下、左、上、右の順番で指定。下を広く取る。
par(las=1)                      # Y軸の数字を横書きにLabel of Axis Styleの略。

survplot(fit.2,               # survfit()で作ったオブジェクト
         xlab = "Month",          # X軸が標準でDaysになってしまうのでmonthにするあわせる
         conf = "none",           # 信頼区間は複数グラフのときは外す
         time.inc = 6,            # 何ヶ月ごとにX軸に数字をだすか
         n.risk = TRUE,           # n at riskを表示する
         srt.n.risk = 0,          # n at riskの左端の開始位置、デフォルトでよいので書かないでよい
         sep.n.risk = 0.056,      # n at riskの行の隙間、デフォルトが0.056、狭くしたければ書く。
         adj.n.risk = 1,          # n at riskの左端の数字の位置。デフォルトでよいので書かないでよい。
         y.n.risk = -0.5,         # n at riskのY軸位置。-0.5にするとX軸の下側にいく
         cex.n.risk = 1.0,        # n at riskの文字の大きさ。1だと軸の数字と同じ大きさになる。
         label.curves = list(method = "arrow", cex = 1.5)     # 矢印でラベル指定、list()で方法と文字サイズを入れます。
         )

        ## titleをつけます。
title("Survival curves from stroke dataset")

plot of chunk unnamed-chunk-2



## おまけ
## listは一つのオプションに二つ以上の指定をするときに使われることがあります。
## 下記のごとく二つの見出しにそれぞれ値が指定されています。
list(method = "arrow", cex = 0.8)
$method
[1] "arrow"

$cex
[1] 0.8



## おまけ2
## EZRの中にnrisk()という関数があって、
## nrisk(SURVFIT, c(0, 6, 8, 12)) とかやると任意の時間でのn at riskが取り出せます。

## nrisk() from EZR by Dr. Yoshinobu Kanda
## http://www.jichi.ac.jp/saitama-sct/SaitamaHP.files/statmed.html
## Originally in survplot package. Changed to work with single stratum analysis

nrisk <- function (x, times = pretty(x$time)) {
    if (!is.null(x$strata)){
        ns <- length(x$strata)
        idx <- rep.int(1:ns, x$strata)
        str.n.risk <- split(x$n.risk, idx)
        str.times <- split(x$time, idx)
        m <- sapply(times, function(y) {
            sapply(1:ns, function(i) {
                w <- which(str.times[[i]] >= y)[1]
                ifelse(is.na(w), 0, str.n.risk[[i]][w])
            })
        })
        rownames(m) <- names(x$strata)
        colnames(m) <- times
    } else {
        str.n.risk <- x$n.risk
        str.times <- x$time
        m <- sapply(times, function(y) {
            w <- which(str.times >= y)[1]
            ifelse(is.na(w), 0, str.n.risk[w])
        })
    }
    m
}


nrisk(fit.2, seq(from = 0, to = 60, by = 3))
                        0   3   6   9  12  15  18  21  24  27  30 33 36 39 42 45 48 51 54 57 60
sex=Female, old=Young 114  85  84  83  83  83  83  82  81  71  60 51 41 33 24 19 12  8  5  2  0
sex=Female, old=Old   386 199 180 169 165 160 153 145 140 122 108 91 74 62 55 40 31 22 15  8  0
sex=Male, old=Young   166 139 133 128 122 122 121 120 118 106  96 89 81 66 59 46 39 33 16  4  0
sex=Male, old=Old     148  92  84  79  75  69  66  62  59  48  35 31 23 22 20 17 12  8  7  2  0