首页 > 解决方案 > 在 R 中创建一个新数据框,其中包含另一个数据框的统计信息

问题描述

我需要创建一个新的数据框,其中包含来自另一个数据框的统计信息,但我不知道该怎么做。我拥有的数据框称为“day”,而我创建并想要完成的数据框称为“stats”。

我尝试了汇总和汇总,但没有达到我想要的结果。

stats <- data.frame("Place"=NA, "Mean"=NA, "Min"=NA, "Max"=NA, "sd"=NA)
summary(substet(day, cd="2A", select=price))
try <- aggregate(price~dep, day, mean)

我的数据框“天”:

day         carb      dep     cd price  p1      p2     p3     p4

02/03/2019  Gasoline  HR      NA 1440   place1  NA     NA      NA
03/03/2019  Gasoline  Corsica 2A 1445   NA      NA     NA      NA

所以我总共有 25 个位置,我想做这样的事情:如果 dep=="Corsica" 和 carb=="gasoline",然后像这样获取数据框“stats”:

Place   Mean   Min     Max     sd
Corsica value  value   value   value

这个想法是用其他 24 个位置的值逐步完成这个数据框。

我希望你能明白我想说的话,对不起,我是一个真正的初学者。

标签: rdataframestatisticsaggregatesummary

解决方案


使用 dplyr 非常简单,代码如下。

library(dplyr)
stats <- day %>% 
    group_by(dep, carb) %>% 
    summarize(mean=mean(price, na.rm = T), 
              min=min(price, na.rm = T), 
              max=max(price, na.rm = T), 
              sd=sd(price, na.rm = T))

推荐阅读