A列の数値に基づいてB列の数値を合計します。 例えば:異なる列のRの条件付き合計
カラムA:年2001年2002年2002年2002年2003年2003
列B:1 2 3 4 5 6
私はA.私に基づいてBを合計列Cを追加します所望の結果は次のとおり
カラムA:2002 2003 2003 2001 2002 2002
カラムB:1 2 3 4 5 6
カラムC:1~9(2+ 3 + 4)9 9 11 11
私は多くの検索をしましたが、どこから手をつけてもらえませんでした。
A列の数値に基づいてB列の数値を合計します。 例えば:異なる列のRの条件付き合計
カラムA:年2001年2002年2002年2002年2003年2003
列B:1 2 3 4 5 6
私はA.私に基づいてBを合計列Cを追加します所望の結果は次のとおり
カラムA:2002 2003 2003 2001 2002 2002
カラムB:1 2 3 4 5 6
カラムC:1~9(2+ 3 + 4)9 9 11 11
私は多くの検索をしましたが、どこから手をつけてもらえませんでした。
私たちは、効率的なオプションがdata.table
base R
df1$C <- with(df1, ave(B, A, FUN = sum))
から ''
library(dplyr)
df1 %>%
group_by(A) %>%
mutate(C= sum(B))
それともave
とのことでグループ化した後dplyr
からmutate
を使用することができます
library(data.table)
setDT(df1)[, C := sum(B), by = A]
もう1つ質問がありますか? 2つの基準がある場合は、最初にAに基づいてC列を追加し、Dに基づいてライブラリ(dplyr)を試しました df1%>%group_by(A)、group_by(D)%>%mutate(C = sum(B))、group_by(D)を多くの場所に配置しましたが、うまくいきませんでした。 – Amy
@Amy 2つの基準は2つの列を意味しますか?その場合、 'df1%>%group_by(A、someothercolumn)%>%mutate(C = sum(B))' – akrun
@Amyコメントありがとうございます。 [ここ](http://stackoverflow.com/help/someone-answers)にチェックを入れることもできます。 – akrun
これまでに試したことはありますか? –