r - 如何通过将观察除以滞后来创建新变量?
问题描述
我的数据集包含每年的频率。现在,我想将每个频率除以上一年同一变量的频率。我创建了一个滞后函数并收到错误消息“无法将quosures
对象转换为函数”。但是,我想不出另一种实现方式。
简化后,我的数据集可以表示如下:
library(tidyverse)
library(dplyr)
year <- c(1914, 1915, 1916, 1917)
a <- c("blue", "green", "green", "blue")
df_1 <- data.frame(a, year)
df_1 <- group_by(a, year) %>% count(name = "counts") %>%
ungroup(a, year) %>%
mutate(y=counts/sum(counts))
我的代码如下:
calc_persistance = function(y){y/lag(y)}
df_1 %>%
mutate_if(vars(contains("y")), calc_persistance)
解决方案
推荐阅读
- android - 在android studio中使用firebase实时数据库检索当前登录用户的数据
- c# - 如何在插入新对象时手动更改对象索引
- android - 如何在android中运行二进制linux文件?
- javascript - 无法在反应中更新axios url参数
- vue.js - 在加载深色主题之前,浅色主题会显示一秒钟
- python - 用 scikit-learn 计算 AUC 的正确方法是什么?
- node.js - 在 plesk 黑曜石上安装撇号CMS,npm 路径出错
- c# - 如何在 WPF C# 中使用数据绑定?
- php - 避免访问基于 WooCommerce 地理定位国家/地区的特定产品
- apache-camel - Infinispan 问题将 Camel 应用程序从独立移植到 camel-quarkus