我正在使用以下示例数据:
library(data.table)
library(dtplyr)
library(dplyr)
df = data.frame(a = c(1,1,3), b = c(4:6))
names(df) = c('aa aa', 'bb bb')
df_dt = lazy_dt(df)
df_dt %>% group_by(`aa aa`) %>% slice(n())
但是,我遇到了这个错误:
Error in .checkTypos(e, names_x) :
Object '`aa aa`' not found amongst aa aa, bb bb
如果我忽略了某些内容或犯了错误,您能帮助我理解吗?谢谢。
发生这种情况是因为
df_dt
不是 data.frame
。函数 group_by
和 slice
适用于 data.frame。但df_dt
不是data.frame
。您可以使用class(df_dt)
进行检查。
如果是
data.frame
或 tibble
,则只有代码有效。但df_dt$parent
是data.frame
。
尝试修改代码
df_dt$parent |> group_by(`aa aa`) %>% slice(n())
这会给你想要的结果。