私の目的は、ある特定の店舗の存在と、それらの店舗を見つけることができる人口密度との間に関連性があるかどうかをピボット テーブルで比較することです。そのために、お店がある地域とない地域の 600 の例を含む CSV ファイルを用意しました。これは 600 行と 2 つの列を持つファイルです: 1/ 1 つの地域の人口密度を表す数字、および 2/ この地域のこの特定の店の数量 (0、1 または 2)。
ピボット テーブルを作成するには、密度をそれぞれ 60 行の 10 グループにグループ化する必要があります (最初のグループでは 60 の大きな密度から、最後のグループでは 60 の小さな密度まで)。そうすれば、密集度が低いか高いかに関わらず、どのくらいの店舗が建てられているかが簡単にわかります。私は理解できますか?:)
本当に難しいことは何もないと思います。しかし、そのために大丈夫な方法(およびパッケージ)がいくつかあります...私は少し迷っています。
私の主な問題:変数をそれぞれ60行の10のグループにグループ化する最も簡単な方法はどれですか? 私は cut()/ cut2()と hist() を試しましたが成功しませんでした。
たとえば(ジャスティンが尋ねたように)。カット()を使用:
data <- read.csv("data.csv", sep = ";")
groups <- cut(as.numeric(data$densit_pop2), breaks=10)
summary(groups)
(0.492,51.4] (51.4,102] (102,153] (153,204] (204,255] (255,306]
53 53 52 52 52 54
(306,357] (357,408] (408,459] (459,510]
52 59 53 54
わかりました。確かに「グループ」には、ほぼ同じ行数の 10 個のグループが含まれています。しかし、間隔で示されている特定の値は、私には意味がありません。密度列の最初の行は次のとおりです (徐々にソートされます)。
> head(data$densit_pop2)
[1] 14,9 16,7 17,3 18,3 20,2 20,5
509 Levels: 100 1013,2 102,4 102,6 10328 103,6 10375 10396,8 104,2 ... 99,9
つまり、最初のグループを見てください。14.9 が最小値であるのに、なぜ 0.492 なのですか? そして、最初の行と値 51.4 の間の行数を手動で数えると、76 行になります。53 行と表示されるのはなぜですか? データフレームが最低から最高に正しくランク付けされていることを正確に示します。
私は確かに何かが恋しいです...しかし、何ですか?