2017-02-10 4 views
0

このpageの例と同様に、カラムの値を合計し、別の値のカウントで除算することもできます。たとえば、次のコードで:Rカウントを和で割ったもの

A <- c(1,1,2,2) 
B <- c(0.2, 0.3, 1, 0.5) 
M <- data.frame(A,B) 
M 

    A B 
1 1 0.2 
2 1 0.3 
3 2 1.0 
4 2 0.5 

Iは、ID 1と(B)を合計し、ID 1とカウント(A)によってそれを分割する必要がある。同様にID 2.

についての結果は、のようにであるべきです次のようになります。

A.1 <- c(1, 2) 
B.1 <- c((0.2+0.3)/2, (1+0.5)/2) 
M.1 <- cbind(A.1, B.1) 
M.1 

    A.1 B.1 
[1,] 1 0.25 
[2,] 2 0.75 

これを実行する方法についてのアイデアはありますか?

+1

IDでBの平均が欲しいですか? '集計(B〜A、データ= M、FUN =平均) ' – bouncyball

+0

別の関連する投稿:http://stackoverflow.com/questions/21982987/mean-per-group-in-a-data-frame – zx8754

+0

@ zx8754 It言葉がはっきりしているときにそれを欺く者に向けるのは簡単です。しかし、OPの記述に基づいて、私たちの中には、苦労して言葉を解析して単純な機能に導く難しい作業をしていた人もいました。だから、dvsは正当化されていません..とにかく..複数の列、複数の関数などのために、あなたの偽装リンクは正しくありません。 – akrun

答えて

-1

外部ライブラリを使用せずに、最も基本的な機能のみを使用します。

mat <- matrix(NA,0,2) 
for (v in unique(M$A)) { 
    m <- mean(M[which(M$A == v),'B']) 
    mat <- rbind(mat,c(v,m)) 
} 
関連する問題