【问题标题】:Very simple bar graph非常简单的条形图
【发布时间】:2010-12-21 00:56:25
【问题描述】:

首先我必须为我的无知道歉,因为我确信这是一个非常简单的问题,但我对 R 很陌生。我的问题是我有一个看起来像这样的数据框;

countrydes       Insured

USA               4500
CANADA            4500 
USA               7500
CANADA            7600

我要做的就是按国家/地区汇总保险价值的总和并生成条形图,例如

countrydes        Insured 

USA                12000       
Canada             12100

非常感谢。

【问题讨论】:

  • 谢谢,这让我的生活更轻松了。

标签: r aggregation


【解决方案1】:

您可以简单地分别对每一项求和。让我们称您的数据框为 df :

USA <- sum(df[df$countrydes=="USA",]$Insured)
CANADA <- sum(df[df$countrydes=="CANADA",]$Insured)

但是使用 aggregate() 您可以在一行中处理所有国家/地区。

 aggsumcount <- aggregate(x=df$Insured,by=list(df$countrydes),FUN=sum)

【讨论】:

    【解决方案2】:

    这样就可以了:

    # Define your data
    dfr <- data.frame(
       countrydes=rep(c("USA", "CANADA"), 2), 
       Insured=c(4500, 4500, 7500, 7600))
    # Sum by country
    totals <- with(dfr, by(Insured, countrydes, sum))
    # Plot the answer
    barplot(totals)
    

    (正如 Etiennebr 所说,您可以使用 aggregate 而不是 by,在这种情况下,您需要强制 countrydes 成为一个列表。)

    【讨论】:

      猜你喜欢
      • 2019-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-14
      • 1970-01-01
      • 2012-07-23
      • 2015-12-30
      • 2022-10-23
      相关资源
      最近更新 更多