以下是一个使用数据框创建按组分组的变量频率表的函数示例:
# 创建函数
create_frequency_table <- function(data, group_var, count_var) {
# 按组分组,并计算每个组的变量值频率
freq_table <- data %>%
group_by(!!group_var) %>%
summarise(count = n()) %>%
arrange(desc(count))
return(freq_table)
}
# 示例数据框
df <- data.frame(
group = c("A", "B", "A", "B", "C"),
variable = c("X", "Y", "X", "Z", "Y")
)
# 调用函数并输出结果
result <- create_frequency_table(df, "group", "variable")
print(result)
在上面的示例中,create_frequency_table
函数接受三个参数:data
表示输入的数据框,group_var
表示按组分组的变量名,count_var
表示要计算频率的变量名。
函数使用dplyr
包中的管道操作符%>%
来按组分组,并使用summarise
函数计算每个组的变量值频率。最后,使用arrange
函数按频率降序排列结果。
示例中的数据框df
包含两个变量group
和variable
,调用函数create_frequency_table(df, "group", "variable")
来计算按组分组的变量频率表,并将结果保存在result
变量中。最后,使用print
函数输出结果。