dplyrでmatrixをmutateしたい
Rで生成したデータの前処理
で以前質問したのですが、dplyrを用いた場合の最後のmutateのところがうまく行きません。
params <- expand.grid(p = 1:2, q = 1:1, r = 1:2, s = 1:1)
ans <- params %>% rowwise() %>% mutate(aic = f(p, q, r, s))
関数fの部分は単独で変数を指定(コンソールにf(1,1,1,1)などと打ち込む)するとしっかり
返ってきて問題はないようですが、返り値がmatrixになっているためas.data.frameで直すと変なくっつき方をしました(具体的にうまく説明できない)。
そのため、しっかり横につなげようとmatrixを転地したあとくっつけようとすると
Error: incompatible size (4), expecting 1 (the group size) or 1
のエラーが出ました。そのため、matrixの中身だけ取り出そうと
ans <- params %>% rowwise() %>% mutate(aic = f(p, q, r, s)$[1,1]) %>% mutate(bic=f(p, q, r, s)$[1,2])
とやるとこの場合は$[]を用いてはいけないようでエラーになりました。
詳しい方、ヘルプお願い致します。