R 错误对象"&引用;使用管道时未找到

R 错误对象"&引用;使用管道时未找到,r,magrittr,R,Magrittr,如果这是重复,我很抱歉,但我找不到: 我在试着用这个。占位符,带有来自magrittr的管道(%>%),并且在第二次调用时它似乎不起作用 例如,这是有效的: data.frame(t = c(1.1,2.2,3.3), y = c(1,2,3)) %$% (t-y)^2 %>% sum(.) 但这并不是: data.frame(t = c(1.1,2.2,3.3), y = c(1,2,3)) %$% (t-y)^2 %>% sum(.)/length(.) 有什么直觉可以解释

如果这是重复,我很抱歉,但我找不到:

我在试着用这个。占位符,带有来自magrittr的管道(%>%),并且在第二次调用时它似乎不起作用

例如,这是有效的:

data.frame(t = c(1.1,2.2,3.3), y = c(1,2,3)) %$% (t-y)^2 %>% sum(.)
但这并不是:

data.frame(t = c(1.1,2.2,3.3), y = c(1,2,3)) %$% (t-y)^2 %>% sum(.)/length(.) 
有什么直觉可以解释为什么会发生这种情况?谢谢


Danny

我们需要将其放在支架内,作为一个单元进行评估

data.frame(t = c(1.1,2.2,3.3), y = c(1,2,3)) %$%
          (t-y)^2 %>% 
          {sum(.)/length(.)} 
#[1] 0.04666667
这与
mean

data.frame(t = c(1.1,2.2,3.3), y = c(1,2,3)) %$%
      (t-y)^2 %>% 
      mean
#[1] 0.04666667

不是一个傻瓜,但大约一个月前我问了一个类似的问题,得到了一些很好的解释: