r - dplyr eval 中的错误(expr、envir、enclos): object '.' not found

标签 r dplyr

我正在尝试使用下面的代码通过 dplyr 操作这部分数据,但我不断收到错误。

Error in eval(expr, envir, enclos) : object '.' not found

我正在使用的代码,我认为这与通过索引而不是名称引用列有关。

closing <- filter(survey, .[[47]] != 0, .[[48]] >= 10) %>%
  mutate(percieved_jobs = .[[47]] * 12, percieved_actual_jobs = (.[[47]] * 12) * (.[[48]] / 100)) %>%
  group_by(listing) %>%
  summarise(n = n(), mean_closing = mean(.[[48]]), mean_pjobs = mean(percieved_jobs), mean_jobs = mean(percieved_actual_jobs))

谢谢,非常感谢任何帮助。

最佳答案

实际上,错误只是来自您在第一个命令中使用管道的方式。 .(点)指的是管道中之前的结果,但在您的过滤器之前没有任何内容,因此会给出错误!

要使其正常工作,您可以将 data.frame 从过滤器函数中取出:

closing <- survey %>% filter(.[[47]] != 0, .[[48]] >= 10) %>% ...

我用另一个数据集测试了它。

关于r - dplyr eval 中的错误(expr、envir、enclos): object '.' not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42862223/

相关文章:

r - 声音数据如何?

r - 在 R 中使用 contour() 制作 shapefile

r - 使用 R 中第二个数据表中的观测值填充一个数据表中的 NA 值

r - 按行获取 x 值之间的平均列数

r - 循环将因子转换为数字

r - R 中的 HMM 包用法

r - 从 tcltk 函数中获取数据

r - 确定重叠范围 - R

r - 根据发生的天数生成给定频率的日期序列

r - 在R中填充缺失值时间序列数据