无法将base-R`rep()`与dplyr一起使用

无法将base-R`rep()`与dplyr一起使用,r,dplyr,R,Dplyr,函数列表[i]中出错:未找到对象“y” 由于它在mutate/summary函数之外,我们需要拉取或提取它 library(tidyverse) x <- c(0, 20, 30, 58) n <- 100 df <- data_frame(x, n) %>% distinct() %>% filter(x >= 0 & x < n) %>% arrange(x) %>% bind_rows(data_frame(x

函数列表[i]中出错:未找到对象“y”


由于它在
mutate/summary
函数之外,我们需要
拉取或提取它

library(tidyverse)
x <- c(0, 20, 30, 58)
n <- 100
df <- data_frame(x, n) %>% 
  distinct() %>%
  filter(x >= 0 & x < n) %>%
  arrange(x) %>%
  bind_rows(data_frame(x = n)) %>%
  mutate(lag_x = lag(x)) %>%
  mutate(y = x - lag_x) %>%
  filter(!is.na(y)) %>% 
  rep(seq_along(x), y) %>% 
  print()
数据帧(x,n)%>%
不同的()%>%
过滤器(x>=0&x%
排列(x)%>%
绑定行(数据帧(x=n))%>%
突变(滞后x=滞后(x))%>%
突变(y=x-滞后x)%>%
过滤器(!is.na(y))%>%
{rep(seq_沿着(.$x),.$y)}
或者它也可以写成

data_frame(x, n) %>% 
  distinct() %>%
  filter(x >= 0 & x < n) %>%
  arrange(x) %>%
  bind_rows(data_frame(x = n)) %>%
  mutate(lag_x = lag(x)) %>%
  mutate(y = x - lag_x) %>%
  filter(!is.na(y)) %>% 
  {rep(seq_along(.$x), .$y)}
数据帧(x,n)%>%
不同的()%>%
过滤器(x>=0&x%
排列(x)%>%
绑定行(数据帧(x=n))%>%
突变(滞后x=滞后(x))%>%
突变(y=x-滞后x)%>%
过滤器(!is.na(y))%>%
总结(n=列表(代表(行号(),y)))%>%
拉力(n)

{}
-需要使用包装器来省略默认行为,以便将管道传输到第一个可能的参数
$VAR\u NAME
将列值作为向量从整个数据集中提取出来。
data_frame(x, n) %>% 
  distinct() %>%
  filter(x >= 0 & x < n) %>%
  arrange(x) %>%
  bind_rows(data_frame(x = n)) %>%
  mutate(lag_x = lag(x)) %>%
  mutate(y = x - lag_x) %>%
  filter(!is.na(y)) %>% 
  {rep(seq_along(.$x), .$y)}
data_frame(x, n) %>% 
 distinct() %>%
 filter(x >= 0 & x < n) %>%
 arrange(x) %>%
 bind_rows(data_frame(x = n)) %>%
 mutate(lag_x = lag(x)) %>%
 mutate(y = x - lag_x) %>%
 filter(!is.na(y)) %>% 
 summarise(n = list(rep(row_number(), y))) %>%
 pull(n)