原因
survival::Surv()の引数time, time2は数値型であることを要請する。
しかしながらRでread.csv()を使用して日付データを読み込むと、data.frame上はfactor型となる。このままdata.frameの日付データをfactor型ではなく数値型に変換せずにSurv()を実行すると以下のエラーメッセージが出力され処理が失敗することになる。
“Time variable is not numeric”
対策
データフレームの日付データをfactor型 → 日付型 → 数値型という変換をしてからSurv()を実行すればよい。
例えばデータフレーム(df)の列(time,time2)に日付データが入っている場合、以下のように記述する。
time_numeric <- as.numeric(as.Date(df$time)) time2_numeric <- as.numeric(as.Date(df$time2)) so <- Surv(time=time_numeric, event=event) so <- Surv(time=time_numeric, time2=time2_numeric, event=event)
コメント