我的数据低于
grp <- paste('group', sample(1:3, 100, replace = T))
x <- rnorm(100, 100)
y <- rnorm(100, 10)
df <- data.frame(grp = grp, x =x , y =y , stringsAsFactors = F)
lag_size <- c(10, 4, 9)
现在我尝试使用
df %>% group_by(grp) %>% mutate_all(lag, n = lag_size) %>% arrange(grp)
它出错了
Error in mutate_impl(.data, dots) :
Expecting a single value:
然而这很好用
df %>% group_by(grp) %>% mutate_all(lag, n = 10) %>% arrange(grp)
答案 0 :(得分:0)
如果我们需要根据'grp'执行namespace Com.Skp.Tmap
{
partial class TMapView
{
void DraggingAnimateThread.IDraggingCallback.Zoom(float p0, bool p1)
{
}
void DraggingAnimateThread.IDraggingCallback.Rotate(float p0)
{
}
}
}
,即lag
使用'lag_size'中指定值的相应'grp'
lag
我们可以通过第一个非NA元素的位置来检查'{1}}'grp'
library(tidyverse)
res <- map2(split(df[2:3], df$grp) , lag_size, ~.x %>%
mutate_all(lag, n = .y)) %>%
bind_rows(., .id = 'grp')