我有一个像这样的数据集
Group| School
11-12 Middle School
8-10 Elementary
5-8 Elementary
5-8 Elementary
8-10 Elementary
14-16 High School
11-13 Middle School
我怎么把它变成
Group|Elementary|Middle School|High School
5-8 2 0 0
8-10 2 0 0
11-12 0 1 0
11-13 0 1 0
14-16 0 0 1
发布于 2021-05-21 18:36:29
我们可以使用来自table
的base R
,它给出matrix/table
类中的频率表。
table(df1)
或者如果我们需要一个tidyverse选项
library(dplyr)
library(tidyr)
df1 %>%
pivot_wider(names_from = 'School',
values_from = 'School', values_fn = length, values_fill = 0)
或者是来自dcast
的data.table
library(data.table)
dcast(setDT(df1), Group ~ School, fun.aggregate = length, fill = 0)
https://stackoverflow.com/questions/67642288
复制相似问题