0

人口密度をプロットした R のデータのバッチを分析しています。値密度プロットも生成したいと思います。例えば:

      dog.breed    weight.lbs
[1]   Labrador     63
[2]   Maltese      6
[3]   Dalmatian    55
[4]   Poodle       51
[5]   Maltese      4
[6]   Dalmatian    48
[7]   Poodle       56

標準密度プロットは、各品種の発生数をカウントし、適切な曲線を出力します。次のようになります。

      dog.breed    x
[1]   Labrador     1
[2]   Maltese      2
[3]   Dalmatian    2
[4]   Poodle       2

ただし、取得しようとしているのは、各品種の重みの合計をたどる同様に滑らかな曲線です。

      dog.breed    x
[1]   Labrador     63
[2]   Maltese      10
[3]   Dalmatian    103
[4]   Poodle       107

これを行うには、最後の例のように一連の点を設定し、曲線を当てはめます。しかし、それは面倒です。私は誰かが重い物を持ち上げることができるきれいなパッケージを知っていることを望んでいました.

助けてくれてありがとう。

明確化:

別の例はどうですか。私が 50 の店舗を持っていて、私が知っているすべての常連客と、彼らが店に来るたびに支払う金額について考えてみます。店舗の常連客人口の密度プロットは、各店舗に何人の人が来ているかについての情報を明らかにします。同等のプロットを探していますが、すべての人が各店舗で費やしている金額です。えっ?

4

1 に答える 1

3

ベース R を使用している場合は、以下を参照してくださいaggregate

data <- read.table(text="dog.breed    weight.lbs
Labrador     63
Maltese      6
Dalmatian    55
Poodle       51
Maltese      4
Dalmatian    48
Poodle       56", header=TRUE, )

aggregate(. ~ dog.breed, data=data, sum)

#  dog.breed weight.lbs
#1 Dalmatian        103
#2  Labrador         63
#3   Maltese         10
#4    Poodle        107

何もせずにデータから直接プロットする方法を探している場合は、ggplot が役に立ちます。

require(ggplot2)
ggplot(data, aes(x=dog.breed, y=weight.lbs)) +
  geom_bar(stat="identity")

ggplot(data, aes(x=dog.breed)) +
  geom_bar(aes(weight=weight.lbs))

最初のグラフは、各 x に対して複数の y 値をプロットします。geom_barデフォルト"stack"は arg の値であり、positionx の合計を示します。2 番目のグラフは、geom_barデフォルトでstat_binのヒストグラムを生成するため機能しますが、a が指定されていweightます。どちらも同等の出力を生成します。

プロット

于 2012-07-25T22:48:07.367 に答える