0
頻度のクロス集計を取得しました。つまり、A01列には1385個のCAGが6485個、14個のCAGに35個などあります。 私は、私は列A01の長いデータに変換することができました。それを使ってmeanとsdを計算します。しかし、私はn個の列を持っているので、どのようにこの関数をすべての列に適用するのか分かりません。列の範囲にreplicate()を使用して結果に統計を適用する
data <- data.frame(CAG = c(13, 14, 15), A01 = c(6485,35,132), A02 = c(0,42,56))
cag = rep(data$CAG, data$A01)
mean <- mean(cag)
stdef <- sd(cag)
たぶん、あなたは 'sapply'を探していますか? 'spply(data、function(x)c(mean = mean(x)、sd = sd(x)))'である。また、オブジェクトの一意の名前を使用する方が良いです。 'data'はRの関数も指します。 – lmo
あなたがしようとしているように見えるのは、加重平均/ SDです。あれは正しいですか? 「この関数をすべての列に適用する」とは、重みとして「A01」を、重みとして「A02」を使用することを意味しますか? –