2016-12-20 6 views
0

私は2つのデータフレームを持っています。 「臨床」「表現」
「臨床」データフレームは、乳癌(行)の患者における様々な臨床パラメーター(列)についてのデータが含まれています。 「発現」は、乳癌患者(列)の発現遺伝子レベル(列)に関するデータを含む。 「表現」データフレーム内の列名は、様々である「遺伝子.ID」である。
両方のデータフレームは同じ患者(行)を持ち、列内でのみ異なるデータフレームです。ただし、各データフレームの行は、他のデータフレームとまったく同じ順序ではありません。
私はある遺伝子の発現レベルとコホート内の個体の臨床パラメーターとの間の相関関係をテストしプロットしたいと考えています。
これを行うには、(1)これらのデータフレームと特定の遺伝子のgene.IDを受け取る機能、(2)この遺伝子の発現パターンを抽出する機能、 (4)すべての臨床パラメータを調べ、(5)別の臨床パラメータで毎回計算を行う。
私の主な問題は"すべての臨床パラメータを調べてください"部分ですが、私のコードの残りの部分ははるかに良くないとは確信しています。
はこれまでのところ、私のコードは次のようになります。rの入力としてデータフレームのすべての列を持つ関数を作成

my_function <- function(clinical_data, expression_data, gene.ID){ 
    gene.ID <- (expression_data$gene.ID)  
    expression.pattern <- as.numeric(expression$gene.ID) 
    matched.samples <- match(row.names(clinical), row.names(expression)) 
    for(i in names(clinical)){ 
    ***here will come an if statement*** 

私も、私は「gene.ID」との深刻な問題を抱えていると思います。
私は関数を変更する必要があるので、if文を記述するとジョブを実行するようにしたいと思います。
私の質問がはっきりしていることを願っています。

+0

'merge(clinical、expression、by = gene.ID、all = F)'を見てください。 – Christoph

答えて

0

両方のデータフレームに同じ患者(行)があり、列内で互いに のデータフレームだけが異なります。ただし、各データフレームの行は、他のデータフレームとまったく同じ順序で ではありません。

機能cbindは、2つのデータセットを列(「c」)で結合(「バインド」)できます。各データセットは同じ患者を持ちますが、順序は異なりますので、最初に1つのデータセットの行をソートして、他のデータセットと一致させる必要があります。

cbind(clinical_data, expression_data[rownames(clinical_data), ]) 

これで残りの分析に必要なものすべてが含まれているのはdata.frameです。

関連する問題