いくつかのデータを挿入して変換した後、ネットワーク オブジェクトに変換するために、0 の大きなマトリックスを作成しようとしています。私が使用しているデータは、ユーザー ID とその友達の ID のリストです。ここ [ http://www.shizukalab.com/toolkits/sna/sna_data ]で見つけたコードを使用して、ユーザーと友人の間のつながりを 1 に変換しています。その後、 と を使用statnet
しigraph
てデータを分析できます。R セッションが中断し続けるというデータの次元に基づいてマトリックスを作成しようとすると、問題が発生します。
問題はメモリやシステムの問題ではなく、データの問題であると考えているため、具体的に説明するために、プロセス全体を示します。
そこで、最初にデータをサブセット化して、ユーザー ID とその友達の 2 つの列を作成しました。次に、それを折りたたんでそこから txt ファイルを作成し、それをメモリにスキャンしました。
registerDoMC(cores = 3)
library(bigmemory)
yelpNetwork <- select(training, c(4:5))
yelpNetwork$friends <- vapply(yelpNetwork$friends, paste, collapse = ",", character(1L))
write.table(yelpNetwork, "yelpNetwork.txt", row.names = FALSE)
##Scan in a file with IDs as character strings {even if numeric"}, and with fields separated by commas
dat=scan("yelpNetwork.txt", what="character",sep="\n")
dat
これは、次のように見えるもののスニペットです。
[1] "\"user_id\" \"friends\""
[2] "\"--0KsjlAThNWua2Pr4HStQ\" \"nELVJlkX8T0mUAArSPSJxw D4v0v5fHzxYLWaXl8gTHqQ 3Uj1YjuShWl6i5in-80sGw WmAhGvWfztnCNrGak8Zf-A VFL4LY37bEvyDPobGoxvXg tyRSwnzsdQDi4WlEBw5RCg VSP01oJh4hrM7KngLZStWw 7g3CFT7P4yfRmPm1rDimSA np418-wlhgpteqef4rn_nQ vK8Ymi2Z6rk3OgkTuMt6Fw\""
[3] "\"--20-ljZD5NnAnkwBBC_uQ\" \"tRN04Yo_qnir-y9RXqQ5qg\""
[4] "\"--2QZsyXGz1OhiD4-0FQLQ\" \"\""
次に、長さを読み込んでdat
次元を確立し、行列を作成しようとします。Rstudio は長時間実行され、その後クラッシュします。
# Store the number of lines in the file
dym=length(dat)
# Create a dymXdym matrix of zeros
m<-matrix(data=0,nrow=dym,ncol=dym)
繰り返しますが、メモリやシステムの問題ではないと思います。他の StackOverflow の議論に基づいて、私はbigmemory
パッケージを使用しており、4 つのコアのうち 3 つを実行しています。これは の一部で、sessionInfo
16GB の RAM を搭載しています。数週間前にアップグレードしたばかりの Rstudio v. 0.99.486 も実行しています。
R version 3.2.2 (2015-08-14)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X 10.11.1 (El Capitan)
私は最も高度な R ユーザーではないので、明らかなことを見落としている可能性があります。どんな考えでも大歓迎です。