我正在尝试构建一些函数,用于通过调查问卷创建标准表,使用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)
}