私は、関数を使っていくつかの遺伝子の生存解析を試みています。患者は、「高い」(2)または「低い」(1)の遺伝子発現に従ってグループ分けされる。Rサバイバルパッケージで変数を呼び出す際の問題
Rが自分のコードをどのように理解しているかに問題があります。ここではいくつかのサンプルデータは、次のとおりです。
df <- read.table(header=T, text="TGM5 TGM6 TGM7 TPI1 survival vital.status
2 1 1 2 1.419178082 2
2 1 1 1 5 1
2 1 1 2 1.082191781 2
1 1 1 1 0.038356164 1
2 1 2 2 0.77260274 2
1 1 2 2 2.336986301 1
2 1 2 1 1.271232877 1")
次のコードは正常に動作します:私は多くの遺伝子のためにこれをしたいとき
fit<- survfit(Surv(survival, vital.status)~TGM5), data =df)
私はに実行する問題があります。
> genes <- names(df[1:3])
> genes[1]
[1] "TGM5"
が、私は、私はエラー
Error in model.frame.default(formula = Surv(survival, vital.status) ~ (genes[1]), :
variable lengths differ (found for 'genes[1]')
を取得
fit<- survfit(Surv(survival, vital.status)~genes[1]), data =df)
を呼び出す場合、私はそこにあると仮定します。私は、私が興味の遺伝子名の配列/リストを作成しました私がTGM5を直接呼び出したときと、遺伝子リストから要素と呼ばれるときの違いとその解決法は非常に簡単です。私はこれにどのように接近するかについて迷っている。 私はgsub()を使用しようとしましたが、成功しませんでした。
最後に、このコードを多くの遺伝子に展開したいので、私はforループを作成しないようにしたいと思います。ベクトル化された方法がありますか?
多くのありがとうございます。
なぜあなたが使用している '遺伝子[1]'?あなたはすべての遺伝子が必要ですね。 –
私は、実行している問題の例として遺伝子[1]を使用しています。私は最終的にすべての遺伝子を分析したいと思うが、survfit()が複数の遺伝子を一度に取るのが好きかどうかはわからない。 – Tkanno
多分関連するhttp://stackoverflow.com/questions/22617354/object-not-found-error-within-a-user-defined-function-eval-function/ –