请参阅下面的可重复示例。第一个示例返回OUT变量的错误向量(组2的OUT值应为10)。
library(dplyr)
x <- c(1, 1,2,2)
v <- c(NA,NA,10,20)
t <- c(1,2,1,2)
df = data.frame(x,v,t)
df = df %>% group_by(x) %>% mutate(out=v[which.min(t)])
df$out
以下示例仅更改组1的一个值,但这会导致命令返回组2(另一组)的正确答案。
v <- c(1,NA,10,20)
df = data.frame(x,v,t)
df = df %>% group_by(x) %>% mutate(out=v[which.min(t)])
df$out
我错过了什么或这是计算错误吗?
答案 0 :(得分:0)
目前的开发版本dplyr_0.4.3.9001
已解决此问题。
要解决此问题,您必须执行以下操作(来自GitHub上的issue #1904):
# 1. Install current dev. version of 'devtools'
devtools::install_github("hadley/devtools")
# 2. Restart R session - IMPORTANT!
# 3. After restart install dev. version of both 'lazyeval' and 'dplyr'
devtools::install_github("hadley/lazyeval")
devtools::install_github("hadley/dplyr")