2
データセットの各行で関数を呼び出す関数を作成しました。私はベクトルとして出力をしたいと思います。下に示すように、関数は結果を画面に出力しますが、関数外で使用できるベクトルに出力をリダイレクトする方法はわかりません。関数の結果をベクトルに出力する
n_markers <- nrow(data)
p_values <-rep(0, n_markers)
test_markers <- function()
{
for (i in 1:n_markers)
{
hets <- data[i, 2]
hom_1 <- data[i, 3]
hom_2 <- data[i, 4]
p_values[i] <- SNPHWE(hets, hom_1, hom_2)
}
return(p_values)
}
test_markers()
1.あなたはすべきですグローバルに頼るのではなく、関数の引数を渡すという習慣が必要です(cf:http://stackoverflow.com/questions/5526322/examples-of-the-perils-of-globals-in-r-and-stata)。 2.それを行う機能はすでにあります。 'apply(my.data、1、...)' –
'shinyNewVector < - test_markers()'を見てください。 gsk3からのアドバイスにも注意してください。 – Chase
Rの基本的な紹介も読んでください。 forループではなくベクトルで思考に切り替える必要があります。 – Hansi