r - Table() 函数的问题
问题描述
我是 R 新手,需要自学如何在我目前的工作中使用它来完成任务。StackOverflow 上的第一篇文章,所以请原谅我省略了任何重要信息。
我发现我没有正确使用 table() 函数,因为它生成的表不包含所有应包含的值。这是我的代码/输出:
library(tidyverse)
library(dplyr)
cbraw <- read.csv("Cbay.csv")
QS2B = 调查邮政编码
B11 = 具体调查问题
zipcode_table_B11 = cbraw %>%
group_by(QS2B, B11) %>%
summarize(n()) %>%
table()
zipcode_table_B11
输出
B11
QS2B 1 2 3 4 5 8 9
12064 1 0 0 0 0 0 0
12115 0 0 0 0 0 0 0
12116 1 0 0 0 0 0 0
12155 0 0 1 0 0 0 0
这是 excel 数据(又名 cbraw):
QS2B B11
12064 1.00
12115
12116 1.00
12155 1.00
12155 3.00
12155 1.00
QS2B 列有问题,值 12155
现在,请注意 df 上的 12155 的值是 1,3 和 1。但是,我的输出中只计算了“3”。
实际输出:
B11
QS2B 1 2 3 4 5 8 9
12064 1 0 0 0 0 0 0
12115 0 0 0 0 0 0 0
12116 1 0 0 0 0 0 0
12155 0 0 1 0 0 0 0
期望的输出:
B11
QS2B 1 2 3 4 5 8 9
12064 1 0 0 0 0 0 0
12115 0 0 0 0 0 0 0
12116 1 0 0 0 0 0 0
12155 2 0 1 0 0 0 0
有谁知道为什么我的表中没有计算 1?
任何帮助将不胜感激!
解决方案
我认为你过于复杂了。table
计算出现次数,并以宽格式显示所有可能的组合。group_by() %>% summarize(n())
计算出现次数并将结果以长格式显示,仅显示出现的组合。你不需要两者。既然你想要一个“宽”格式的输出,table
那就更好了。我想你想要的是这样的:
with(zipcode_table_B11, table(QS2B, B11))
推荐阅读
- rust - 模式匹配互斥体包装的特征实现者枚举的惯用方式?
- heroku - 为什么在我的 python 模块上退出系统后我的交易机器人正在重新启动?
- scikit-learn - 有没有办法将 scikit-learn 中的 RandomizedSearchCV 或 GridSearchCV 与 GPflow 2 模型一起使用?
- python - Django ForeignKey.limit_choices_to 与 ForeignKey to ManyToMany 场景
- image - ffmpeg 只显示一张图片?
- r - 维护 PSQL+R Shiny 连接的最佳实践
- hibernate - 我如何让 JPA 的多对多关系与 kotlin 一起工作?延迟初始化异常
- c++ - 我无法访问某些 openGL 功能
- javascript - 无法访问刚刚创建的文件 - JavaScript - Adobe Document Services API
- javascript - 如何使递归函数 vue.js 从孩子中获取数据