我有一个类似类型的1000个数据框列表
dfs<-list()
for (i in 1:1000) {
dfs[[i]]<-iris[sample(1:length(iris$Sepal.Length),80),-5]
}
Run Code Online (Sandbox Code Playgroud)
每个都是80乘4的数据帧.我想以单元方式添加(或任何其他操作)所有这些数据帧,并将输出作为80乘4的数据帧,每个单元格包含1000个单元格的总和,或者可能是1000个单元格的平均值?
需要包
'dplyr'
'nycflights13'
我正在使用的小标题是
q4<-flights%>%group_by(year,month,day)%>%summarise(cancelled=sum(is.na(dep_time)),avg_delay=mean(arr_delay,na.rm = T),totalflights=n())
q4<-q4%>%mutate(prop=cancelled/totalflights)
Run Code Online (Sandbox Code Playgroud)
使用
q4%>%ungroup()%>%count(prop)
Run Code Online (Sandbox Code Playgroud)
给我
# A tibble: 342 x 2
prop n
<dbl> <int>
1 0 7
2 0.00101 1
3 0.00102 2
4 0.00102 1
5 0.00102 1
6 0.00102 1
7 0.00103 1
8 0.00103 1
9 0.00104 1
10 0.00104 1
# ... with 332 more rows
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以(不使用强力逻辑,如 for 循环等)以所需的形式获得输出,我正在寻找单行或两行解决方案。dplyr 中有一个函数可以做到这一点吗?
期望的输出:
# A tibble: X x Y
prop n
<dbl> <int>
1 0-0.1 45 #random numbers
2 0.1-0.2 54 …Run Code Online (Sandbox Code Playgroud)