我試圖計算一些網絡措施R使用圖片 apckage。 起初我讀取我的數據,而不是轉換它,並最終將它帶入鄰接矩陣形式。然後我計算這個數據集的度數值。R:循環社交網絡分析
我想將我的代碼放在一個循環中,所以我不需要手動更改條件 - 重新讀取數據 - 並再次運行代碼。但我沒有運氣。 「r」條件可以是「1」或「2」,「g」條件是從「1」到「21」的數字。
我的代碼看起來像這樣至今:
p1 <- read.csv("matrix.csv")
p <- p1[p1$r=="1" & p1$g == "1",]
rownames(p) <- paste("id", p$id, sep=".")
p <- t(p[,-(1:3)])
p <- data.frame(p)
rr <- apply(p, 2, as.character)
m<-matrix(nrow=ncol(rr),ncol=ncol(rr))
for(col in 1:ncol(rr)){
matches<-rr[,col]==rr
match.counts<-colSums(matches)
match.counts[col]<-0
m[,col]<-match.counts
}
n<-graph.adjacency(m)
d<-degree(n, v=V(n))
第一「P1」的幾行:
1> p1
id g r X1 X2 X3 X4
1 1 1 1 1324;1256 1324;1256 752;1268 1892;1236
2 2 1 2 324;988 324;988 324;988 324;988
3 3 1 1 1312;1652 1312;1652 1828;608 712;656
4 4 1 2 324;988 324;988 324;988 324;988 ...
我知道我的代碼是相當難看......我之前沒有任何編程經驗,但我渴望學習,所以我歡迎任何建議或建議。
在此先感謝!
請包括自包含代碼。我們不知道'matrix.csv'中的內容。 –
我在「matrix.csv」中保存的是「p1」。它包含252行和44列。前3列是識別的,其他的是座標,我用它來製作鄰接矩陣。 – Sielu