다음과 같은 데이터 프레임이 있습니다 (df). 여기백분위 수를 찾고 R을 그룹화하는 방법
day area hour time count
___ ____ _____ ___ ____
1 1 0 1 10
1 1 0 2 12
1 1 0 3 8
1 1 0 4 12
1 1 0 5 15
1 1 0 6 18
1 1 1 1 10
1 1 1 2 12
1 1 1 3 8
1 1 1 4 12
1 1 1 5 15
1 1 1 6 18
1 1 1 7 12
1 1 1 8 15
1 1 1 9 18
1 1 2 1 10
1 1 2 2 18
1 1 2 3 19
.....
2 1 0 1 18
2 1 0 2 12
2 1 0 3 18
2 1 0 4 12
2 1 1 1 8
2 1 1 2 12
2 1 1 3 18
2 1 1 4 10
2 1 1 5 15
2 1 1 6 18
2 1 1 7 12
2 1 1 8 15
2 1 1 9 18
2 1 2 1 10
2 1 2 2 18
2 1 2 3 19
2 1 2 4 9
2 1 2 5 18
2 1 2 6 9
.....
30 99 23 1 9
30 99 23 2 8
30 99 23 3 9
30 99 23 4 19
30 99 23 5 18
30 99 23 6 9
30 99 23 7 19
30 99 23 8 8
30 99 23 9 19
I은 당 87 개 day.So 영역 (82 다음에 I가 1이 90,93,95,97,99), 24 시간 (0 ~ 23)의 데이터에 대해 30 일 동안의 데이터를 가지고 그 지역을 가로 지르는 데 걸린 시간과 얼마나 많은 사람들이 교차했는지에 관한 것입니다. 예를 들어
는 :
day area hour time count
___ ____ _____ ___ ____
1 1 0 1 10
1 1 0 2 12
1 1 0 3 8
1 1 0 4 12
1 1 0 5 15
1 1 0 6 18
이 시간 0에 1 일에 내가 그것을했다 얼마나 많은 시간을 계산 할 영역이 1
time count cumulative_count
___ ___ ________________
1 10 10
2 12 22
3 8 30
4 12 42
5 15 57
6 18 75
10 vehicles crossed the area in 1 minute.
12 vehicles crossed the area in 2 minutes.
8 vehicles crossed the area in 3 minutes.
12 vehicles crossed the area in 4 minutes.
15 vehicles crossed the area in 5 minutes.
18 vehicles crossed the area in 6 minutes.
을 통과하는 데 걸리는 시간을 내을 제공합니다 차량의 80 %가 하루 1 시간 동안 1을 교차합니다. 총 차량 = (10 + 12 + 8 + 12 + 15 + 18) = 75이므로 75의 80 %는 60입니다. 따라서 80 % 1 시간 0시에 지역 1을 통과하는 차량 (75의 80 %는 60)은 5와 6 사이에있을 것입니다 (5에 더 가깝습니다). 그래서 결과는 같을 것이다 :
day area hour time_taken_for_80%vehicles_to_pass
___ ____ ____ ___________________________________
1 1 0 5.33(approximately)
1 1 1 7.30
1 1 2 2.16
....
30 1 23 3.13
1 2 0 ---
1 2 1 ---
1 2 2 ---
1 2 3 ---
.......
30 99 21 ---
30 99 22 ---
30 99 23 ---
I know to I have to take quantile and then group by the area and day and hour.So I tried with
library(dplyr)
grp <- group_by(df, day,area,hour,quantile(df$count,0.8))
하지만하지 work.Any 도움이 내 솔루션은 각 time
을 위해, 지역을 넘어 차량의 비율을 계산
lead
그래 이것이 내가 5를 얻을 수 있다면 좋을 것 close.But 거의됩니다를 사용하여 동일한 결과를 얻을. ** 대신 6 분 차량이 통과 할 수있는 큰 규모이기 때문이다. 어쨌든 이것은 좋은 것입니다 –다른 솔루션을 추가했습니다 – Wietze314
@ Wietze314 백분위 수를 사용할 수 있습니까 –