Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
dplyr逗号(,)语法似乎已中断_R_Dplyr - Fatal编程技术网

dplyr逗号(,)语法似乎已中断

dplyr逗号(,)语法似乎已中断,r,dplyr,R,Dplyr,出现以下错误:“未知或未初始化列:'c'。”。然而,我可以运行相同的代码,以不同的方式排列,并得到我想要的(没有错误,正确的输出) 为什么第二个代码块不起作用?我不想把一系列的mutate(x)%%>%mutate(y)%%>%mutate(z)%%>%等串在一起。当一个简单的mutate(x,y,z)要整洁得多时。它工作得很好。您需要修改一些代码 # Code chunk 3 df %>% mutate(c = abs(lag(a, 1) - a)) %>% mutate(

出现以下错误:“未知或未初始化列:'c'。”。然而,我可以运行相同的代码,以不同的方式排列,并得到我想要的(没有错误,正确的输出)


为什么第二个代码块不起作用?我不想把一系列的
mutate(x)%%>%mutate(y)%%>%mutate(z)%%>%等串在一起。
当一个简单的
mutate(x,y,z)
要整洁得多时。

它工作得很好。您需要修改一些代码

# Code chunk 3
df %>%
  mutate(c = abs(lag(a, 1) - a)) %>%
  mutate(d = sum(.$c, na.rm = TRUE) / (length(.$c) - 1))

$c
更改为just
c

工作正常。您需要修改一些代码

# Code chunk 3
df %>%
  mutate(c = abs(lag(a, 1) - a)) %>%
  mutate(d = sum(.$c, na.rm = TRUE) / (length(.$c) - 1))
$c
更改为仅
c

我们也可以这样做

df %>%
  mutate(
    c = abs(lag(a, 1) - a),
    d = sum(c, na.rm = TRUE) / (length(c) - 1)
  )
我们也可以这样做

df %>%
  mutate(
    c = abs(lag(a, 1) - a),
    d = sum(c, na.rm = TRUE) / (length(c) - 1)
  )

在代码块2中,点是指输入到整个mutate中的数据集,该数据集还没有c列。@Nicolas2如果我的
代码块2
还没有“有
c
列”,那么下面的SmitM代码是如何工作的,它也引用了
c
?如果
c
列尚未“存在”。有什么区别?因为SmitM不使用点符号。在管道中,点包含上一步的结果。这也是你的第三个块工作的原因:点指的是添加了c列的第一个变异结果。在你的代码块2中,点指的是输入到整个变异中的数据集,而这个数据集还没有c列。@Nicolas2如果我的
代码块2
还没有
c
列,那么下面的SmitM代码是如何工作的,它也引用了
c
?如果
c
列尚未“存在”。有什么区别?因为SmitM不使用点符号。在管道中,点包含上一步的结果。这也是第三个块工作的原因:点指的是添加了c列的第一个变异结果。
n()
也是
length()的包装器(这是正确的词吗?
?你能对此展开吗?@stackinator
n()
在dplyr中给出行数。它类似于
length
,因为
length
给出了该列中的元素数
n()
length()的包装器(这是正确的单词吗?
?你能对此展开吗?@stackinator
n()
在dplyr中给出行数。它类似于
length
,因为
length
给出了该列中的元素数
df %>%
  mutate(c = abs(lag(a) - a),
          d = sum(c, na.rm = TRUE)/(n() - 1))