非常简单的条形图

时间:2009-11-27 16:03:20

标签: r aggregation

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

countrydes       Insured

USA               4500
CANADA            4500 
USA               7500
CANADA            7600

我想做的就是按国家汇总保险价值的总和,并生成一个条形图,例如

countrydes        Insured 

USA                12000       
Canada             12100

非常感谢。

2 个答案:

答案 0 :(得分:3)

这样可以解决问题:

# 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作为列表。)

答案 1 :(得分:2)

你可以简单地将每一个分别相加。我们打电话给您的数据框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)