1

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

countrydes       Insured

USA               4500
CANADA            4500 
USA               7500
CANADA            7600

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

countrydes        Insured 

USA                12000       
Canada             12100

非常感谢。

4

2 回答 2

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成为一个列表。)

于 2009-11-27T16:41:14.797 回答
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)
于 2009-11-27T16:35:17.637 回答