为什么
mutate()
给出一个错误消息,说明对象找不到,尽管它显然在那里并且可以n_mm
?
select()
当我首先将其变成tibble时,为什么它会起作用?
> tbl(db, "jobstat") |>
select(n_mm, n_mmo)
# Source: SQL [?? x 2]
# Database: mysql [...]
n_mm n_mmo
<int> <int>
1 0 3
2 0 2
3 5 0
4 0 0
5 2 0
> tbl(db, "jobstat") |>
select(n_mm, n_mmo) |>
mutate(n_nok = n_mm + n_mmo)
Error in eval(cols[[col]], .data, parent.frame()) :
object 'n_mm' not found
数据库中的数据基本上没有在R中实例化,因此,除非您以前使用
> tbl(db, "jobstat") |>
select(n_mm, n_mmo) |>
as_tibble() |>
mutate(n_nok = n_mm + n_mmo)
# A tibble: 682,491 × 3
n_mm n_mmo n_nok
<int> <int> <int>
1 0 3 3
2 0 2 2
3 5 0 5
4 0 0 0
as_tibble()
执行计算同时实例化数据。