【问题标题】:R Programming, How to filter, then sum? [closed]R编程,如何过滤,然后求和? [关闭]
【发布时间】:2014-09-25 22:13:49
【问题描述】:

我将一个 4 列的 csv 导入 RStudio 我创建了一个带有 4 个变量的 data.frame “dat”

"count..." # 不使用 "CategoryBudget" # 美元价值 "Category" # 各个类别的名称 “位置”# 城市名称

在每个位置中,有多个类别名称,每个类别名称都有自己的 CategoryBudget。

我想汇总每个位置内所有类别的 CategoryBudget 并使用 CategoryBudget 总和打印位置列表。

在每个位置,我想要每个类别的类别预算总和 然后打印位置名称、类别名称、每个类别名称的 CategoryBudget 总和。

我刚开始使用 R,希望能提供任何帮助。

 count... CategoryBudget                  Category               Location

1 2110 6379.274 芝加哥二手车经销商

2 2083 6234.621 芝加哥新车经销商

3 1972 6052.865 汽车销售和服务芝加哥

4 1712 4809.133 洛杉矶二手车经销商

5 1477 4530.553 芝加哥汽车配件和配件

6 1415 4339.386 洛杉矶新车经销商

【问题讨论】:

  • 很高兴知道您是否可以解决问题。
  • 是的,rnso 提供了适合我的解决方案。很有帮助。

标签: r loops filter sum


【解决方案1】:

'聚合'可以如下使用:

> dd
  count CategoryBudget                    Category    Location
1  2110       6379.274            used_car_dealers     chicago
2  2083       6234.621             new_car_dealers     chicago
3  1972       6052.865 automotive_sales_&_services     chicago
4  1712       4809.133            used_car_dealers los_angeles
5  1477       4530.553    auto_parts_&_accessories     chicago
6  1415       4339.386             new_car_dealers los_angeles
> 
> aggregate(count~Location, dd, sum)
     Location count
1     chicago  7642
2 los_angeles  3127

> aggregate(CategoryBudget~Location, dd, sum)
     Location CategoryBudget
1     chicago      23197.313
2 los_angeles       9148.519
> 

> aggregate(CategoryBudget~Location+Category, dd, sum)
     Location                    Category CategoryBudget
1     chicago automotive_sales_&_services       6052.865
2     chicago    auto_parts_&_accessories       4530.553
3     chicago             new_car_dealers       6234.621
4 los_angeles             new_car_dealers       4339.386
5     chicago            used_car_dealers       6379.274
6 los_angeles            used_car_dealers       4809.133
> 

【讨论】:

  • 这行得通。非常感谢。
【解决方案2】:

你想要的是聚合函数。试试

condensedData <- aggregate(dat, by=list(Location), FUN=sum, na.rm=TRUE)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-15
    • 1970-01-01
    • 2016-12-08
    • 2021-10-29
    • 1970-01-01
    • 2021-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多