dplyr:如何使用select和filter内部函数; (...)不参与争论

时间:2014-06-27 08:59:50

标签: r dplyr

我正在尝试构建一些函数,用于通过调查问卷创建标准表,使用dplyr进行数据操作。这个question对group_by函数非常有帮助,将参数(在本例中是我想用来创建表的变量的名称)传递给(...),但是这在尝试时似乎会中断将相同的参数传递给其他dplyr命令,特别是' select'和'过滤'。我得到的错误消息是'...' used in an incorrect context'

有没有人对此有任何想法?谢谢

为了完整性(以及任何其他提示 - 我对编写函数非常陌生),这是我想要使用的代码:

myTable <- function(x, ...) {
df <-  
    x %>%
    group_by(Var1, ...) %>%
    filter(!is.na(...) & ... != '') %>% # To remove missing values: Not working!
    summarise(value = n()) %>%
    group_by(Var1) %>%
    mutate(Tot = sum(value)) %>%
    group_by(Var1, ...) %>%
    summarise(num = sum(value), total = sum(Tot), proportion = num/total*100) %>%
    select(Var1, ..., proportion) # To select desired columns: Not working!

tab <- dcast(df, Var1 ~ ..., value.var = 'proportion')
tab[is.na(tab)] <- 0
print(tab)
}

0 个答案:

没有答案