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
(저에게 알려주십시오 수없는 경우) 당신은 데이터가이 링크를 형성 얻을 수있는 설정입니다 여러 조건. 상기 조건 큰
- 그룹 별 TYPE 변수의 각 유형 (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
누구든지 도와 드릴 수 있으면 좋겠습니다. 다른 정보를 제공해야하는 경우 나에게 알려주십시오 ~