首先,我必须为我的无知道歉,因为我确信这是一个非常简单的问题,但我对R很新。我的问题是我有一个看起来像这样的数据框;
countrydes Insured
USA 4500
CANADA 4500
USA 7500
CANADA 7600
我想做的就是按国家汇总保险价值的总和,并生成一个条形图,例如
countrydes Insured
USA 12000
Canada 12100
非常感谢。
答案 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)