これまでのquestionを複雑にすると、次のような靴下のデータがあります。条件付きで集計された集計dplyr
>socks
year drawer week sock_total
1990 1 1 3
1990 1 2 4
1990 1 3 3
1990 1 4 2
1990 1 5 4
1990 2 1 1
1990 2 2 1
1990 2 3 1
1990 2 4 1
1990 2 5 2
1990 3 1 3
1990 3 2 4
1990 3 3 4
1990 3 4 4
1990 3 5 4
1991 1 1 4
1991 1 2 3
1991 1 3 2
1991 1 4 2
1991 1 5 3
1991 2 1 1
1991 2 2 3
1991 2 3 4
1991 2 4 4
1991 2 5 3
1991 3 1 2
1991 3 2 3
1991 3 3 3
1991 3 4 2
1991 3 5 3
どのように私は最初の年の間、毎週の増加と他の二year-- 0
が彼らだった場合1
に等しいgrowth
新しい変数を作成するにはdplyr
でsummarise
を使用することができます。データはまた、この
>socks
drawer week growth
1 1 1
1 2 0
1 3 0
1 4 0
1 5 0
2 1 0
2 2 1
2 3 1
2 4 1
2 5 1
3 1 0
3 2 0
3 3 0
3 4 0
3 5 0
ようになるはずです、どのように引き出しが年の1に対応する週間持っていなかったデータを処理します。 1週間が欠落している場合は、NA
を追加してください。
'靴下%>%アレンジ(年)%>%GROUP_BY(引き出し、週)%>%集計(成長= ifelse(差分(sock_total)> 0、1、0))' – eipi10
行の場合( 'sock_total'はこれらの追加された行に対して' NA'で塗りつぶされます)、または 'tyyr'で' complete'を指定して追加することができます'fill'引数を使ってゼロにします):' library(tidyr); (%)%%% %>% %% group_by(引き出し、週)%>% 要約(growth = ifelse(diff(sock_total)> 0) ) ' – eipi10
@ eipi10類似した構造を持つデータでは、' Summaryise_impl(.data、dots)でエラーが発生しました:列 "growth"は長さ1(要約値)でなければなりません。なぜこれが事実だろうか?私はあなたの最初のソリューションを使用しました。 – Alex