r - 如何总结R中的比例?
问题描述
我希望通过购买类别(15个类别)说出年龄组(两个年龄组)的比例,以便做一个Z双样本比例测试。
数据就像
类别 | 年龄阶层 |
---|---|
蔬菜 | 更年轻 |
饮料 | 中老年人 |
蔬菜 | 更年轻 |
家禽 | 中老年人 |
但 R 输出显示以下错误。
> aggregate(x = newdata$category,
+ by = list(newdata$agegroup),
+ FUN = sum)
Error in Summary.factor(c(14L, 14L, 14L, 11L, 14L, 14L, 14L, 14L, 9L, :
‘sum’ not meaningful for factors
当我对类别数据进行数字化时,它不会显示每个年龄组的按类别比例。
> aggregate(x = newdata$category,
+ by = list(newdata$agegroup),
+ FUN = sum)
Group.1 x
1 Mid_Old 728994
2 Younger 5206038
解决方案
你需要这样的东西吗?
df <- data.frame(category = c("vegetable", "beverages", "vegetable", "poultry"),
group = c("younger", "middle and older", "younger", "middle and older"))
df %<>%
group_by(group) %>%
summarise(n = n()) %>%
mutate(freq = n/sum(n))
输出:
> df
# A tibble: 2 x 3
group n freq
<chr> <int> <dbl>
1 middle and older 2 0.5
2 younger 2 0.5
推荐阅读
- javascript - 从具有特定类的每个元素中获取文本,然后加起来
- multithreading - QSerialport 在 QThread 中被阻塞
- qt - 无框窗口,但带有按钮保持器
- java - 重复对象上的java休眠保存方法反映在原始对象中
- python-3.x - 为什么 Python 列表理解最后会打印一个“无”列表?
- c++ - 使用由字符串 C++ 定义的地图名称的地图
- java - 在 Selenium Web 驱动程序中迭代具有相同名称的元素时索引越界异常
- java - Wildfly:加密 EJB 远程 java 的密码
- powershell - 过滤哈希表数组
- microsoft-graph-api - 无法更新事件 Beta 端点