2016-03-30 11 views
1

を作るために、私は同じ次元でDF1DF2を持って、例えば、ループ2つのデータフレームのメタ分析

DF1 
hr se   m 
1 0.5 1.5 a 
2 1.5 2.5 b 
3 2.5 3.5 c 
4 3.5 4.5 d 

DF2 
hr se   m 
5 4.5 5.5 a 
6 5.5 6.5 b 
7 6.5 7.5 c 
8 7.5 8.5 d 

私はメタ分析をする必要があります。 私は1 DFのすべての行のために、私は

library(rmeta) 
d <- meta.summaries(DF1$hr, DF1$se, names = DF1$m, method = c("fixed")) 

としてそれを作ることができることを知っているしかし、私がしたいことは、これらの2つのデータフレームの行ごとにメタ分析を行うことです。例えば、row 1DF1row 1DF2でメタ分析される。 私はループまたはlapply機能が必要と思われるかもしれません。 ヒントやご提案ありがとうございます。

+0

私には不明な点がありますが、希望の出力の例を教えてください。 –

答えて

2

1つのオプションは、単にリストを取得するためにmによってrbind、その後splitを使用することです:

df3 <- rbind(df1, df2) 
split(df3, df3$m) 

$a 
    hr se x m 
1 1 0.5 1.5 a 
5 5 4.5 5.5 a 

$b 
    hr se x m 
2 2 1.5 2.5 b 
6 6 5.5 6.5 b 

$c 
    hr se x m 
3 3 2.5 3.5 c 
7 7 6.5 7.5 c 

$d 
    hr se x m 
4 4 3.5 4.5 d 
8 8 7.5 8.5 d 

あなたはその後、結果を得るためにforループまたはlapplyを使用することができます。そのため、for loop Rまたはapply family RのGoogleだけです。

+0

ありがとう!それは開始するクールな先端!私は試してみる – HoHoHo

+0

あなたは私をもっと助けてくれますか?私は 'for loop'を試しました。私は、{ out <-meta.summaries(A $ hr、A $ se、names = A $代謝産物、メソッド= c( "固定"))} 'のために' '(i in 1:length(A) 'A'は分割された' df'です。 – HoHoHo

+0

閉じる:) 'meta.summaries'関数の中で' A [i]]でなければならないと思います。 'A [[i]]'を使うと、i番目のデータフレームを抽出し、 '$ hr'などを行うことができます。 – Laterow

関連する問題