我正在尝试创建一个简单的总结函数,以加快在R Markdown文件中使用多个数据列的报告速度。
var1是一个分类数据列,t_var是表示该数据季度的整数,dt是完整的数据。
最初的输出很有前景:
(注意:在尝试重新创建数据时,由于某种原因,我也收到了警告:
var1是一个分类数据列,t_var是表示该数据季度的整数,dt是完整的数据。
summarise_data_categorical <- function(var1, t_var, dt){
print(var1)
print(t_var)
#Select the columns to aggregate
group_func <- dt %>%
select(one_of(t_var, var1)) %>%
group_by(t_var,var1)
#create simple count summary
count_table <- group_func %>%
summarise(count = n()) %>%
spread(t_var, count)
#create a frequency version of the same table...
freq <- dt %>%
select(t_var, var1) %>%
group_by(t_var,var1) %>%
summarise(count = n()) %>%
mutate(freq = round(count / sum(count),3)*100) %>%
select(-count)
#Present that table
freq_table <- freq %>%
spread(t_var, freq)
#Create the chart to do the same thing..
freq_chart <- freq %>%
ggplot()+
geom_line(mapping=aes(x=t_var, y = freq, colour=var1))
#Compile outputs as a list
results <- list(count_table, freq_table, freq_chart)
#Return list
results
}
假设我有一个框架:
fr <- data.frame(lets = sample(LETTERS, 100, replace=TRUE),
`quarter type` = sample(1:4, 100, replace=TRUE))
如果我这样运行函数:
summarise_data_categorical("lets", "quarter type", fr)
最初的输出很有前景:
[1] "lets"
[1] "quarter type"
(注意:在尝试重新创建数据时,由于某种原因,我也收到了警告:
未知变量:quarter type
,
虽然这在我的原始数据中并未出现)
主要问题是我遇到了错误:
Error in resolve_vars(new_groups, tbl_vars(.data)) : unknown variable to group by : t_var
作为一个来自Python的人,我仍然对如何引用列感到有些困惑。有人能解释一下我哪里做错了吗?