【发布时间】:2018-03-04 07:19:38
【问题描述】:
library(tidyverse)
使用底部的样本数据,我想找到 Gender 和 FP 变量的计数,然后使用 tidyr::spread() 传播这些变量。我试图通过创建一个数据框列表来做到这一点,一个用于性别计数,一个用于 FP 计数。我这样做的原因是最终 cbind 两个数据帧。但是,我无法将 tidyr::spread 合并到我的函数中。
下面的函数创建了一个包含两个数据帧的列表,其中包含 Gender 和 FP 的计数,但计数并未“传播”。
group_by_quo=quos(Gender,FP)
DF2<-map(group_by_quo,~DF%>%
group_by(Code,!!.x)%>%
summarise(n=n()))
如果我添加 tidyr::spread,它就不起作用。我不确定如何合并它,因为列表中的每个数据框都有不同的变量。
group_by_quo=quos(Gender,FP)
DF2<-map(group_by_quo,~DF%>%
group_by(Code,!!.x)%>%
summarise(n=n()))%>%
spread(!!.x,n)
任何帮助将不胜感激!
示例代码:
Subject<-c("Subject1","Subject2","Subject1","Subject3","Subject3","Subject4","Subject2","Subject1","Subject2","Subject4","Subject3","Subject4")
Code<-c("AAA","BBB","AAA","CCC","CCC","DDD","BBB","AAA","BBB","DDD","CCC","DDD")
Code2<-c("AAA2","BBB2","AAA2","CCC2","CCC2","DDD2","BBB2","AAA2","BBB2","DDD2","CCC2","DDD2")
Gender<-c("Male","Male","Female","Male","Female","Female","Female","Male","Male","Male","Male","Male")
FP<-c("F","P","P","P","F","F","F","F","F","F","F","F")
DF<-data_frame(Subject,Code,Code2,Gender,FP)
【问题讨论】: