お薦めHP:

RjpWiki
  (Rでエコノメトリクス)

R-Tips

Econometrics in R

EconWiki R

Statistics with R

Rで国際金融

A Brief Guide to R for Beginners in Econometrics

金明哲さんのHP

Atsushi Matsumoto's Website #Materials for R

石田基広さんのHP

久保拓弥さんのHP

R Graphical Manual

Japan.R (勉強会)

Tokyo.R (勉強会)

Tsukuka.R (勉強会)

Nagoya.R (勉強会)


1.基本概念

 
> clust.coeff<-function(matrix){
+ n<-nrow(matrix)
+ output<-rep(0,n)
+ for(i in 1:n){
+ m<-sum(matrix[i,])
+ output[i]<-
+ sum(t(matrix * matrix[i,])*matrix[i,])/(m*(m-1))
+ }
+ output[which(output=="NaN")]<-0
+ output
+ }

> A<-matrix(c(
+ 0,1,1,1,1,0,0,0,0,
+ 1,0,1,1,1,1,0,0,0,
+ 1,1,0,1,0,0,1,0,0,
+ 1,1,1,0,0,0,0,1,1,
+ 1,1,0,0,0,0,0,0,0,
+ 0,1,0,0,0,0,0,0,0,
+ 0,0,1,0,0,0,0,0,0,
+ 0,0,0,1,0,0,0,0,0,
+ 0,0,0,1,0,0,0,0,0),
+ nrow = 9)

> clust.coeff(A)
[1] 0.6666667 0.4000000 0.5000000 0.3000000 1.0000000 0.0000000 0.0000000
[8] 0.0000000 0.0000000

> mean(clust.coeff(A))
[1] 0.3185185
 
> library(sna)
degree <- degree(A)/2
hist(degree, col = "grey")
2.ランダムグラフ
 
> rgraph(100,tprob=0.01,mode="graph")
       [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13]
  [1,]    0    0    0    0    0    0    0    0    0     0     0     0     0
  [2,]    0    0    1    0    0    0    0    0    0     0     0     0     0
  [3,]    0    1    0    0    0    0    0    0    0     0     0     0     0
  [4,]    0    0    0    0    0    0    0    0    0     0     0     0     0
  [5,]    0    0    0    0    0    0    0    0    0     0     0     0     0

略

 
> erdos.renyi.game(100,p=0.01)
Vertices: 100 
Edges: 51 
Directed: FALSE 
Edges:
             
[0]   4 -- 22
[1]   2 -- 23
[2]   6 -- 25
[3]   6 -- 27
[4]   0 -- 29
[5]   9 -- 30
[6]   9 -- 35

略
 
> random.graph.game(100, p = 0.01)
Vertices: 100 
Edges: 35 
Directed: FALSE 
Edges:
             
[0]   1 --  7
[1]   7 --  8
[2]  15 -- 25
[3]  32 -- 40
[4]  19 -- 41
[5]   8 -- 44
 
> rg <- rgraph(100, tprob = 0.05, mode = "graph")
> distance <- geodist(rg)$gdist
> mean(distance[-c(which(distance == Inf), which(distance == 0))])
[1] 3.150484
> mean(clust.coeff(rg))
[1] 0.0345
> degree <- degree(rg)/2
> hist(degree, col = "grey")
3.スモールワールド・ネットワーク
 
#レギュラーグラフ作成関数
regular.g <- function(n,k) {
  reg <- matrix(0,n,n)
  for (i in 1:n){
    for (j in 1:k){
      if (i+j <= n) 
        reg[i,i+j] <- 1
      else 
        reg[i,i+j-n] <- 1
    }
  }
(reg <- symmetrize(reg))
}

#スモールワールド・シミュレーション
g <- regular.g(100,4)
Clustering <- 1:101
Distance <- 1:101
p <- seq(0,1,by = 0.01)
for (i in 1:101) {
  clust <- 1:20
  dist <- 1:20
  for (j in 1:20){ 
    rew.g <- rewire.ws(g, p[i])[1,,]
    clust[j] <- mean(clust.coeff(rew.g))
    d <- geodist(rew.g)$gdist
    dist[j] <- mean(d[-c(which(d == Inf),which(d == 0))])
  }
  Clustering[i] <- mean(clust)
  Distance[i] <- mean(dist)
}

x <- p; y <- Clustering
plot(x, y, xlab ="p", ylab = "Clustering Coefficient")

x <- p; y <- Distance
plot(x, y, xlab ="p", ylab = "Average Distance")

x <- p
y <- matrix(c(Clustering/Clustering[1],Distance/Distance[1]),101,2)
matplot(x, y, log = "x", pch = c(1,2), xlab ="p", ylab = "", col = "black")
legend(locator(1), pch = c(1,2), 
c("clustering coefficient","average distance"))
4.スケールフリー・ネットワーク
 
g <- barabasi.game(10000, m = 2, directed = FALSE)
dd <- degree.distribution(g)
plot(dd,log ="x", xlab = "degree", ylab = "proportion")
plot(dd,log ="xy", xlab = "degree", ylab = "proportion")
average.path.length(g)

clust <- transitivity(g,type ="local")
clust[which(clust == "NaN")] <- 0
mean(clust)


可視化にCytoscapeを利用。 この例では10,000ノードのスケールフリーネットワークの作成し、 ネットワークをテキストデータとしてエクスポート。
 
> library("igraph")
> graph2<-barabasi.game(1000,power=1)
> write.graph(graph2,"table2.txt","edgelist")


CytoscapeでFile-->Import-->Network from Tableよりインポート。


Back to R

Google


R 関連図書:


【初級編】 基本事項

【中級編】 Iの応用編

【初級編】 基本事項 [HP]

【初級編】 基本事項 [HP]

【中級編】 グラフィックス [HP]

【中級編】 いろいろ

【中級編】 計量経済学

【中級編】 計量経済学

【中級編】 計量経済学

【中級編】 計量経済学 [HP]

【中級編】 多次元データ一般

【中級編】 計量経済学 [HP]

【中級編】 時系列

【中級編】 時系列

【中級編】 ベイズ統計

【中級編】 ベイズ統計

【中級編】 ベイズ統計

【中級編】 ベイズ統計を用いたマーケティング

【中級編】 マーケティング

【中級編】 ファイナンス

【中級編】 テキストマイニング [HP]

【中級編】 テキストマイニング

【中級編】 テキストマイニング

【中級編】 ネットワーク

【中級編】 パターン認識

【中級編】 マシーンラーニング

【中級編】 モンテカルロ法、ブートストラップ、MCMCなど [HP]

【中級編】 基本事項

【中級編】 特許情報のテキストマイニングについての論文集