R中的滞后函数可以不循环地重用R中的计算值吗?

玛科212

样本数据

set.seed(1)
library(tidyverse)

df1 <- data.frame(
  Category = rep(c("Cat1","Cat2","Cat3"),3),
  Value = c(sample(c(1:10),3), rep(NA, 6))
)

我正在尝试使用过去几年的数据滞后值播种数据框。这是问题的简化版本,但实际上,我需要做的是lag重新使用先前计算的滞后值。如果运行以下代码,则第4-6行将按我的预期进行计算,但保留第7-9行是NA因为lag查找的是原始值,而不是新的计算值。我希望第7-9行也填充第4-6行的值。我知道我可以编写一个for循环以将值向前拉,但是想看看是否有更类似于R的方式来完成此操作。

df1 %>% group_by(Category) %>% 
  mutate(Value = ifelse(is.na(Value), lag(Value, 1), Value))


# Groups:   Category [3]
  Category Value
  <fct>    <int>
1 Cat1         9
2 Cat2         4
3 Cat3         7
4 Cat1         9
5 Cat2         4
6 Cat3         7
7 Cat1        NA
8 Cat2        NA
9 Cat3        NA

所需结果

# A tibble: 9 x 2
# Groups:   Category [3]
  Category Value
  <fct>    <int>
1 Cat1         9
2 Cat2         4
3 Cat3         7
4 Cat1         9
5 Cat2         4
6 Cat3         7
7 Cat1         9
8 Cat2         4
9 Cat3         7
多米尼克·迈耶(Dominik S. Meier)

不知道这是否适用于您的问题,但是您可以使用fill

library(dplyr)
library(tidyr)
df1 %>% 
  group_by(Category) %>% 
  fill(Value, .direction = "down")

# A tibble: 9 x 2
# Groups:   Category [3]
  Category Value
  <chr>    <int>
1 Cat1         9
2 Cat2         4
3 Cat3         7
4 Cat1         9
5 Cat2         4
6 Cat3         7
7 Cat1         9
8 Cat2         4
9 Cat3         7

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

R中滞后的“循环”变量

来自分类Dev

R先前计算函数的滞后值

来自分类Dev

计算r中的滞后或超前均值

来自分类Dev

R中的循环不转换数组值

来自分类Dev

循环函数在R中返回什么值

来自分类Dev

使用滞后函数和R中的年间隔来计算变化

来自分类Dev

我可以重用参数实例从Spark中的聚合函数返回值吗?

来自分类Dev

我可以重用参数实例从Spark中的聚合函数返回值吗?

来自分类Dev

在R中,我可以使table()函数返回命名元素中NA值的数量吗?

来自分类Dev

R中的时间序列分析:ts()函数中的频率值与acf图中的滞后

来自分类Dev

对数据帧执行滞后运算以计算R中的新值

来自分类Dev

在R中:如何创建滞后差向量,但不使用循环就保留负差的原始值

来自分类Dev

如何在R函数中重用代码?

来自分类Dev

如何重用r中的调用函数?

来自分类Dev

使用r中的循环函数计算每天的常数值?

来自分类Dev

如何创建for循环以计算r中的合并数据的gini函数?

来自分类Dev

在AngularJS中重用循环函数

来自分类Dev

列表中的函数可以访问R中的列表属性吗?

来自分类Dev

For循环在R中是邪恶的吗?

来自分类Dev

R中的for循环复杂吗?

来自分类Dev

Rcpp可以代替R中的unif函数吗?

来自分类Dev

您可以在R中的函数中使用嵌套参数吗?

来自分类Dev

如何从R中的互相关函数计算p值

来自分类Dev

计算R中具有唯一值的函数

来自分类Dev

R函数可以将每个x值相加,从而使每次计算的数据重叠吗?

来自分类Dev

R中的函数循环麻烦

来自分类Dev

通过R中的for循环内的if函数设置某些行的值

来自分类Dev

使用for循环在R函数中返回值

来自分类Dev

如何使用循环函数连接R中的值?

Related 相关文章

热门标签

归档