dplyr用户定义函数内部的访问变量属性

问题描述 投票:-1回答:1

我正在尝试创建一个从调查数据计算加权平均值的函数,其中变量名称取自变量属性。我已经使用避风港df<-read_sav(spss_df)函数导入了SPSS数据集,并且每个变量已经具有可通过attr(df$var, 'label')

访问的标签

我想创建一个计算加权平均值并从标签中命名变量的函数。我尝试了以下]]


my_function<- function(var, Weight=Weight, ...){
  var<-enquo(var)
  group_var <- enquos(...)
  label<-attr(df$!!var,'label')

  df %>%
    filter(!is.na(!!var))%>%
    group_by(!!!group_var) %>%
    count(!!var, wt=Weight) %>%
    mutate(freq=n/sum(n)) %>%
    mutate(!!label:=percent(freq)) 

}

但是,这给了我一个错误。有人知道如何修复代码吗?

我正在尝试创建一个从调查数据计算加权平均值的函数,其中变量名称取自变量属性。我已经使用避风港df

r function dplyr attr
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.