r - 重新编码组以相应地创建摘要
问题描述
我有一个如下表的数据
Category Value
14 1
13 2
32 1
63 4
24 1
77 3
51 2
19 4
15 1
24 4
32 3
10 1
. .
. .
so on
实际上我想创建一组变量,例如
C1= (14,13,24,19,77)
C2= (32,51,63,15,10)
c3= (......)
c4= (...)
这样它将创建一个数据框,例如(重新编码之类的东西)
C1 c2 c3 c4......
14 32
13 51
24 63
15 10
在此之后我可以创建一个摘要
df<- df[!is.na(df[[cols]]), ]
sum1 <- as.data.frame(table(df[[cols]]))
最终预期输出应该像
C1 C2 C3 ....
1 22%
2 13%
3 42%
4 15%
N 94
N 是该特定组的总计数。
解决方案
您可以创建一个列来对来自等的各种值进行分组C1
,C2
并赋予它们各自的值。然后我们可以得到宽格式的数据。您可以使用adorn_totals
fromjanitor
来获取最后一行中添加的每一列的总和。
library(dplyr)
df %>%
group_by(col = case_when(Category %in% C1 ~ 'C1',
Category %in% C2 ~ 'C2')) %>%
mutate(Value = row_number()) %>%
tidyr::pivot_wider(names_from = col, values_from = Category) %>%
janitor::adorn_totals()
推荐阅读
- python - 如何适当地选择计算滚动均值和STD的窗口?
- linux - 如何读取 CSV 文件并将其以数组 Bash 脚本的形式存储?
- c# - 我如何在 xamarin 应用程序中显示 HTML 代码
- java - 使用 Spring Data JPA Stream 获取数据
- javascript - JS datepicker:禁用选定的日期+1到5天
- java - Android:使用 ConstraintSet 更改视图可见性
- windows - 如何使用 GitBash 通过 ssh 克隆数据(windows 10 环境)
- javascript - 有没有一种方法可以将一些用于角度反应形式控制的 get 方法包装到一个函数中
- sql - 在 SQL Server 中使用数据透视不返回所需的输出
- php - 货币符号在 PHP 中无法正确显示