【发布时间】:2019-05-05 10:53:05
【问题描述】:
我想知道我们为每项任务收取的最低和最高费用如何,我正在评估超过 250,000 行。 我不知道为什么给我 NA 值
Data Sample:
# A tibble: 279,360 x 7
Job.ID Task.ID Task.Name Task.Minutes Task.BillableRa~ Task.Billable Task.Amount
<chr> <chr> <chr> <chr> <chr> <chr> <chr>
1 W210238 248323800 E.2 Engineer - Progres~ 1080 137.00 Yes 2466.00
2 W210196 249251898 E.2 Engineer 450 137.00 Yes 1027.50
3 W210188 249251899 E.2 Engineer 120 137.00 Yes 274.00
4 W210229 249251900 E.0 Junior Engineer 90 78.00 Yes 117.00
5 W210179 249251901 D.3 Snr Designer 1620 127.00 Yes 3429.00
6 W210180 249991653 A.1 Contract Administr~ 60 108.00 Yes 108.00
7 W210212 249991654 D.2 Snr Drafter 60 119.00 Yes 119.00
8 W210198 250055633 A.1 Contract Administr~ 1500 108.00 Yes 2700.00
9 W210223 250055634 D.2 Snr Drafter 5940 119.00 Yes 11781.00
10 W210220 250057691 A.1 Contract Administr~ 270 108.00 Yes 486.00
# ... with 279,350 more rows**strong text**
code:
x2 %>%
x2 <- x2 %>%
group_by(Task.Name) %>%
mutate(Task.Ratemax= max(Task.BillableRate)) %>%
mutate(Task.RateMin = min(Task.BillableRate)) %>%
select(Task.Name, Task.Ratemax,Task.RateMin) %>%
unique()
actual outcome:
# A tibble: 39 x 3
# Groups: Task.Name [39]
Task.Name Task.Ratemax Task.RateMin
<chr> <chr> <chr>
1 E.2 Engineer 168.00 127.00
2 E.0 Junior Engineer 98.00 ""
3 D.3 Snr Designer 140.00 119.00
4 A.1 Contract Administration 75.00 102.50
5 D.2 Snr Drafter 135.00 ""
6 E.3 Senior Engineer 168.00 130.00
7 X.5 HA Design and Audit 178.00 161.00
8 P.7 Contract Project Manager 135.00 135.00
9 A.3 Client Meetings/Reporting and Site Visit 143.00 140.00
10 D.1 Draftsperson 95.00 110.00
# ... with 29 more rows
>
【问题讨论】:
-
我在您的输出中看不到任何
NA值,但您可以尝试使用na.rm = TRUE是您的min和max函数。 -
我在哪里可以找到它?
-
如果您使用
min和max,您可能不希望Task.BillableRate成为字符变量,就像在您的示例数据中一样。 -
试试
x2 %>% group_by(Task.Name) %>% mutate(Task.Ratemax= max(as.numeric(Task.BillableRate), na.rm = TRUE), Task.RateMin = min(as.numeric(Task.BillableRate), na.rm = TRUE))