私は R の比較的新しいユーザーですが、インターンシップの研究課題を完了するためにその場で言語を独学しなければなりませんでした。
出発地の国勢調査データ ファイルを扱っています。このデータは次のようになります。
w_geocode h_geocode S000 SA01 SA02 SA03 SE01 SE02 SE03 SI01 SI02 SI03
1 360010001001005 - 360010001001010 - 1 0 1 0 0 0 1 1 0 0
2 360010001001005 - 360010001001011 - 1 0 1 0 0 0 1 1 0 0
3 360010001001005 - 360010001001039 - 1 0 1 0 0 0 1 1 0 0
4 360010001001005 - 360010014001009 - 1 0 1 0 0 0 1 0 1 0
5 360010001001005 - 360010015001007 - 1 0 1 0 0 0 1 0 1 0
6 360010001001005 - 360010019011001 - 1 0 1 0 0 0 1 1 0 0
このようなデータが約 500 万行あります。これらの 15 桁の数字はそれぞれ、特定の場所を表しています。このデータの関連性を高めるために、以下を使用してこれらの 15 桁のコードを 11 桁のコードに短縮しました。
options(scipen=100) #to avoid scientific notation
nyod=read.csv("ny_od_main_JT00_2010.csv")
x=nyod[,1]
y=nyod[,2]
z=nyod[,3]
tx=trunc(x/10000)
ty=trunc(y/10000)
nyodI=cbind(tx,ty,z)
その後、次のようなものが得られます。
tx ty z
[1,] 36001000100 36001000100 1
[2,] 36001000100 36001000100 1
[3,] 36001000100 36001000100 1
[4,] 36001000100 36001001400 1
[5,] 36001000100 36001001500 1
[6,] 36001000100 36001001901 1
しかし、ご覧のとおり、集約したい冗長性があります。理想的には、たとえば、行 1、2、および 3 が 1 に統合され、z の合計が 3 になるようにしたいのですが、すべての冗長性に対してこのプロセスを実行する必要があります。
私の質問が十分に具体的で、誰が読んでも意味があることを願っています。ご協力いただきありがとうございます。