【发布时间】:2021-02-24 05:15:40
【问题描述】:
除了命名顺序更改外,我正在尝试执行与以下相同的操作。从here得到代码
mtcars; rownames(mtcars) <- NULL
df <- mtcars[,c(2,8,9)]
head(df)
(df
%>% pivot_longer(-cyl) ## spread out variables (vs, am)
%>% group_by(cyl,name)
%>% dplyr::mutate(n=n()) ## obs per cyl/var combo
%>% group_by(cyl,name,value)
%>% dplyr::summarise(prop=n()/n) ## proportion of 0/1 per cyl/var
%>% unique() ## not sure why I need this?
%>% pivot_wider(id_cols=c(cyl,name),names_from=value,values_from=prop)
)
预期答案
cyl name `0` `1`
4 vs 0.0909 0.909
4 am 0.273 0.727
6 vs 0.429 0.571
6 am 0.571 0.429
8 vs 1 NA
8 am 0.857 0.143
【问题讨论】:
标签: r dataframe dplyr tidyr data-manipulation