r - dplyr 逗号 (,) 语法出现损坏
问题描述
# Code chunk 1
library(tidyverse)
df <- tibble(a = c(NA, 1, 2), b = c(5, 5, 5))
请创建上面的数据框。如果您随后运行此代码块 2
# Code chunk 2
df %>%
mutate(
c = abs(lag(a, 1) - a),
d = sum(.$c, na.rm = TRUE) / (length(.$c) - 1)
)
您收到此错误“未知或未初始化的列:'c'。” . 然而我可以运行相同的代码,以不同的方式排列,得到我想要的(没有错误,正确的输出)。
# Code chunk 3
df %>%
mutate(c = abs(lag(a, 1) - a)) %>%
mutate(d = sum(.$c, na.rm = TRUE) / (length(.$c) - 1))
为什么第二个代码块不起作用?我不想把一系列mutate(x) %>% mutate(y) %>% mutate(z) %>% etc.
简单mutate(x, y, z)
的东西串起来。
解决方案
它工作正常。您需要修改一些代码。
df %>%
mutate(
c = abs(lag(a, 1) - a),
d = sum(c, na.rm = TRUE) / (length(c) - 1)
)
将 更改.$c
为c
推荐阅读
- ios - 您如何让位置捕获器在覆盖转场之前运行?
- python - 无法使用功能停止简单的音频音乐
- php - WooCommerce 延迟发送有关虚拟产品的电子邮件
- html - 在 Rails 上使用带有许多 html 标签的 i18n 的正确或最佳方式是什么?
- r - 在整洁的 R grep 中使用 mutate() 添加基于多个条件的列
- lambda - 如何计算这个 lambda 演算?有没有计算顺序很重要?
- loops - Fortran MPI 中的退出循环
- javascript - 很难用彩色线条和元素制作一张桌子
- django - './docker-compose.yml' 中的顶级对象必须是对象而不是'
' - r - 如何在数据框R中查找特定值的索引