要約における演算順序 [closed] 質問する

要約における演算順序 [closed] 質問する

コードの最初の行では何が起こっているのでしょうか。また、結果が次の 2 つの結果と異なるのはなぜでしょうか。

library(tidyverse)
library(magrittr)

data.frame(A=c(2,2),B=c(1,1)) %>%
   summarise(A = sum(A),B = sum(B), D=sum(A)-sum(B))

D=0となる

data.frame(A=c(2,2),B=c(1,1)) %>%
   summarise(A = sum(A),B = sum(B), D=sum(A-B) )

D=2で得られる

data.frame(A=c(2,2),B=c(1,1)) %>% 
  summarise(sum_A = sum(A),sum_B = sum(B), D=sum(A)-sum(B))

D=2 で得られます。

このような操作の結果、D=0 になる理由を説明できません。どうすればD=0理にかなった結果が得られるのでしょうか?

ベストアンサー1

それはバグです。https://github.com/tidyverse/dplyr/issues/32330.7.4.9001で修正されました。

おすすめ記事