【发布时间】:2021-12-10 20:19:23
【问题描述】:
我想制作一个交叉表,其中 x 是变量的不同 obs 的数量,y 是另一个变量。使用 dplyr,我可以通过下面的代码获得所需的信息,但它显然不会创建表格。我想要的是 secteur 的 CODE_UAI.x 的不同 obs 的数量。以下是数据集的示例。
| CODE_UAI.x | secteur |
|---|---|
| 0271564D | 1 |
| 0942344M | 2 |
| 0271564D | 3 |
| 0332894S | 3 |
| 0033082C | 2 |
| 00381324H | 1 |
| 0271564D | 3 |
| 0033082C | 2 |
- 输入代码
dataframe
df1 <- data.frame("CODE_UAI.x" = c("0271564D", "0942344M", "0271564D", "0332894S",
"0033082C", "00381324H", "0271564D", "0033082C"),
secteur = c(1, 2, 3, 3, 2, 1, 3, 2))
Ech_final_nom_BSA %>%
filter(secteur == 3) %>%
summarise(n=n_distinct(CODE_UAI.x))
我也尝试使用包 summarytools 执行此操作,但没有结果。
我期待的结果是这样的:
| Secteur | # distinct UAI |
|---|---|
| 1 | 2 |
| 2 | 2 |
| 3 | 2 |
我希望这是有道理的。如果需要,请随时询问更多信息。
【问题讨论】:
-
如果您创建一个小的可重现示例以及预期的输出,这将更容易提供帮助。阅读how to give a reproducible example。
-
刚刚完成!希望对您有所帮助!
-
最后一个值 3 怎么样?你在找
df %>% group_by(secteur) %>% summarise(distinct = n_distinct(CODE_UAI.x)) -
你说得对,它应该是 2,是的,这完全有效!
标签: r dataframe dplyr crosstab summarytools