如何在r中获得按年龄分类的频率计算
我做了一个实验,参与者必须为15个不同的单词提示输入10个联想。现在我感兴趣的是获得一个频率计数,每个关联在不同提示下出现的次数,但也分为不同的年龄组 例如,如果我有一个名为如何在r中获得按年龄分类的频率计算,r,frequency,R,Frequency,我做了一个实验,参与者必须为15个不同的单词提示输入10个联想。现在我感兴趣的是获得一个频率计数,每个关联在不同提示下出现的次数,但也分为不同的年龄组 例如,如果我有一个名为Media的提示,我希望有三列freqMedia15-30,freqMedia31-45等 每个提示都需要这些列。但我不知道是否有更聪明的方法 我的年龄组是15-30,31-45,46-60 我已通过使用以下方法获得每个提示的频率: Media <- subset(testdata, prompt == "Media"
Media
的提示,我希望有三列freqMedia15-30
,freqMedia31-45
等
每个提示都需要这些列。但我不知道是否有更聪明的方法
我的年龄组是15-30
,31-45
,46-60
我已通过使用以下方法获得每个提示的频率:
Media <- subset(testdata, prompt == "Media")
w = table(Media$typedWord)
t = as.data.frame(w)
names(t)[1] = 'typedWord'
Media <- merge(Media, t, by = "typedWord")`
Media考虑到我或多或少了解了您的数据结构,并且您有一个最终的列,其中有“点击”或“计数”,您可以执行
aggregate(counts ~ typeWord + ageGroup, data = Media, FUN = sum)
如果您添加一个“虚拟”列Media$counts=rep(1,nrow(Media))
例如:
> df = data.frame(typeWord = c(rep("bla", 4), rep("tra", 6)), ageGroup = c(rep("10-15", 2), rep("16-21", 4), rep("22-30", 4)), counts = c(1,4,8,2,3,9,5,1,2,1))
> aggregate(counts ~ typeWord + ageGroup, data = df, FUN = sum)
typeWord ageGroup hits
1 bla 10-15 5
2 bla 16-21 10
3 tra 16-21 12
4 tra 22-30 9
考虑到我或多或少地了解了您的数据结构,并且您有一个最终的列,其中包含“点击数”或“计数”,您可以这样做
aggregate(counts ~ typeWord + ageGroup, data = Media, FUN = sum)
如果您添加一个“虚拟”列Media$counts=rep(1,nrow(Media))
例如:
> df = data.frame(typeWord = c(rep("bla", 4), rep("tra", 6)), ageGroup = c(rep("10-15", 2), rep("16-21", 4), rep("22-30", 4)), counts = c(1,4,8,2,3,9,5,1,2,1))
> aggregate(counts ~ typeWord + ageGroup, data = df, FUN = sum)
typeWord ageGroup hits
1 bla 10-15 5
2 bla 16-21 10
3 tra 16-21 12
4 tra 22-30 9
请给出一个小的可重复的示例可能不完全是您的数据(不确定我是否完全了解您的数据结构),但考虑到您有一个包含计数或点击的列,您可以进行聚合(计数~typeWord+ageGroup,data=Media,FUN=sum)
或者如果您有一个只有一个的“虚拟”列,你可以用它来代替计数。Andrea Dioni评论或回答对你有帮助吗?如果是这样,请评论和/或更新请展示一个小的可复制示例可能不完全是您的数据(不确定我是否完全了解您的数据结构),但考虑到您有一个包含计数或点击的列,您可以进行聚合(计数~typeWord+ageGroup,data=Media,FUN=sum)
或者如果您有一个只有一个的“虚拟”列,你可以用它来代替计数。Andrea Dioni评论或回答对你有帮助吗?如果是,请评论和/或投票