【发布时间】:2020-07-17 17:08:44
【问题描述】:
我正在使用这个 hiphop 数据集 (https://www.dropbox.com/s/5d8fwxrj3jtua1z/hiphop.csv?dl=0)。我正在尝试比较男性和女性之间每种音乐类型(声乐、古典、民谣、摇滚、乡村、流行、另类、嘻哈和不可分类)的平均值。我使用以下代码按性别变量分组以获取每个级别和每个变量的平均值。
music_diff <- hiphop %>%
select(subj, sex, age, ethnic, ethnic_binary, intl:unclassifiable)
sex_music_diff <- music_diff %>%
group_by(sex) %>%
summarize(avg_intl=mean(intl), avg_vocal=mean(vocal), avg_classical =mean(classical), avg_folk=mean(folk), avg_rock=mean(rock), avg_country =mean(country), avg_pop=mean(pop), avg_alt = mean(alternative), avg_hiphop=mean(hiphop), avg_unclassifiable=mean(unclassifiable), .groups="keep")
这给了我每组内男性和女性受试者的平均值表。我现在要做的是使用它给我的输出来查找男性和女性之间不同的变量。换句话说,我想减去男性和女性的 avg_intl,男性和女性的 avg_vocal 等等,然后返回每个变量的差异列表。我试过了:
sex_music_diff %>%
+ avg_intl$Male - avg_intl$Female
但我收到一条错误消息,提示“3 个参数传递给 '$',需要 2 个”。不知道有什么更好的方法来解决这个问题。理想情况下,这将是所有变量差异的一个步骤,它将返回所有差异的数据帧。提前致谢。
【问题讨论】: