bugfix> r > 投稿

遺伝子に関する情報を持つ2つのデータフレームがあります。これらのデータフレームはどちらも同じサイズ(20,000行x 50列)です。 infoという別のファイルには、それらのデータフレーム間で一致したサブジェクト名が含まれています。ファイル(情報)から名前をgrepして、一致したサブジェクト間の相関係数を見つけたいと思います。これらのファイルの例を次に示します。

df1
gene_name    loc1  loc2 .........  loc50
gene1        1        23              25
gene2        24       15              67
df2
gene_name    loc1  loc2 .........  loc50
gene1        21       31              55
gene2        2       65              89
info file
subject     loc_in_df1   loc_in_df2
1                loc1          loc2
2                loc3          loc46  

回答 1 件
  • 次のようなものを試してください

    最初に df を構築します   df1 から列を引き出して  および df2  情報ファイルによると

    df <- cbind(df1[, info$loc_in_df1],df2[, info$loc_in_df2])
    
    

    そして

    cor = apply(df, MARGIN = 1, FUN = function(x) return(cor.test(x[1:50], x[51:100])$estimate))
    
    

    1:50と51:100は、情報ファイルに50のペアリングがあると仮定していますが、再現可能なサンプルを提供しなかったため、すべて推測に過ぎません

あなたの答え