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)

aggregate(Etiennebrが述べたように、の代わりに使用できます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() を使用すると、すべての国を 1 行で処理できます。

 aggsumcount <- aggregate(x=df$Insured,by=list(df$countrydes),FUN=sum)
于 2009-11-27T16:35:17.637 に答える