1
に計算これは、私のデータは、私はグループによってデータをフィルタリングする https://www.dropbox.com/s/1n9hpyhcniaghh5/table.csv?dl=0GROUP_BYは、フィルタおよびR
LABEL DATE TAU TYPE x y z
1 A 1 2 1 0.75 7 16
2 A 1 2 0 0.41 5 18
3 A 1 2 1 0.39 6 14
4 A 2 3 0 0.65 5 14
5 A 2 3 1 0.55 7 19
6 A 2 3 1 0.69 5 19
7 A 2 3 0 0.66 7 19
8 A 3 1 0 0.38 8 15
9 A 3 1 0 0.02 5 16
10 A 3 1 0 0.71 8 13
11 B 1 2 1 0.25 9 18
12 B 1 2 0 0.06 8 20
13 B 1 2 1 0.60 8 20
14 B 1 2 0 0.56 6 13
15 B 1 3 1 0.50 8 19
16 B 1 3 0 0.04 8 16
17 B 2 1 1 0.04 5 15
18 B 2 1 1 0.75 5 13
19 B 2 1 0 0.44 8 18
20 B 2 1 1 0.52 9 13
(、お知らせくださいできない場合) あなたはデータがこのリンクを形成し得ることができます設定されています複数の条件でおよび条件は 大きな
- 基によって型変数の各タイプ(0,1)の行の数である (例:タイプ1の行数は...私は何回もしようとした
各グループのタイプ0)の行数に等しく、そして最後に、私はこのコードと、この出力を得る
table %>% group_by(label,date,tau,type) %>% filter(n()>1) %>% filter(length(type==1)==length(type==0))
# A tibble: 16 x 7
# Groups: label, date, tau, type [7]
LABEL DATE TAU TYPE x y z
<fctr> <int> <int> <int> <dbl> <int> <int>
1 A 1 2 1 0.75 7 16
2 A 1 2 1 0.39 6 14
3 A 2 3 0 0.65 5 14
4 A 2 3 1 0.55 7 19
5 A 2 3 1 0.69 5 19
6 A 2 3 0 0.66 7 19
7 A 3 1 0 0.38 8 15
8 A 3 1 0 0.02 5 16
9 A 3 1 0 0.71 8 13
10 B 1 2 1 0.25 9 18
11 B 1 2 0 0.06 8 20
12 B 1 2 1 0.60 8 20
13 B 1 2 0 0.56 6 13
14 B 2 1 1 0.04 5 15
15 B 2 1 1 0.75 5 13
16 B 2 1 1 0.52 9 13
私はこのコードでこの出力について混乱しました。私はすでに条件を満たしていないデータを取り除く1 しかし
私が望む結果内でまだ条件2を満たしていなかったデータは、すぐ下
LABEL DATE TAU TYPE x y z
<fctr> <int> <int> <int> <dbl> <int> <int>
3 A 2 3 0 0.65 5 14
4 A 2 3 1 0.55 7 19
5 A 2 3 1 0.69 5 19
6 A 2 3 0 0.66 7 19
10 B 1 2 1 0.25 9 18
11 B 1 2 0 0.06 8 20
12 B 1 2 1 0.60 8 20
13 B 1 2 0 0.56 6 13
のようなものですそして、私は各行の下の関数で値を計算したい場合、どのようにコード化できますか? mutate()の関数を使うだけです。
f(x,y,z) = 2 * x + y - z/3 if TYPE == 1
f(x,y,z) = 4 * x - y/2 + z/3 if TYPE == 0
誰もが私を助けることができると私はあなたの助けに感謝しています願っています!他の情報を提供する必要がある場合は、私に知らせてください〜