質問編集履歴
2
エラー発生箇所の明記
title
CHANGED
File without changes
|
body
CHANGED
@@ -14,9 +14,13 @@
|
|
14
14
|
### 発生している問題
|
15
15
|
- igraphを使って算出した結果をCSVへ出力しようとしているが、エラーが発生。
|
16
16
|
|
17
|
+
```ここに言語を入力
|
18
|
+
resFrame1<-data.frame(name[i],gdata.deg[i],gdata.clo[i],gdata.eve[i],gdata.bet[i])
|
19
|
+
```
|
17
20
|
Error in as.data.frame.default(x[[i]], optional = TRUE) : cannot coerce class ""igraph.vs"" to a data.frame
|
18
21
|
|
19
22
|
|
23
|
+
|
20
24
|
```R
|
21
25
|
pdata <- fread("file.csv", sep=",", header=T)
|
22
26
|
|
1
未解消点へ更新
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
R
|
1
|
+
Rネットワーク分析:Error in as.data.frame.default(x[[i]], optional = TRUE)
|
body
CHANGED
@@ -12,35 +12,36 @@
|
|
12
12
|
|...|...|...|
|
13
13
|
|
14
14
|
### 発生している問題
|
15
|
-
1. 重複する組み合わせがあり、次数中心性が2倍になっている。
|
16
|
-
→ 本来Aさんの次数中心性は3であるところ、Aさん-Bさん、Bさん-Aさんとダブルカウントしてしまっている。
|
17
|
-
|
15
|
+
- igraphを使って算出した結果をCSVへ出力しようとしているが、エラーが発生。
|
16
|
+
|
17
|
+
Error in as.data.frame.default(x[[i]], optional = TRUE) : cannot coerce class ""igraph.vs"" to a data.frame
|
18
|
+
|
19
|
+
|
18
20
|
```R
|
19
|
-
pdata <- fread("
|
21
|
+
pdata <- fread("file.csv", sep=",", header=T)
|
20
22
|
|
21
23
|
list_name <- unique(pdata$name.x)
|
22
|
-
output <- data.frame(name=list_name, deg=-1, clo=-1, eve=-1, bet=-1)
|
23
|
-
|
24
|
+
resFrame1<-data.frame() #forループ上書き
|
25
|
+
resFrame2<-data.frame() #最終的な結果統合用
|
24
26
|
|
25
27
|
m <- length(list_name)
|
26
|
-
for
|
28
|
+
for(i in 1:m){
|
27
|
-
i_name <- list_name[i]
|
28
|
-
|
29
|
+
gdata <- graph.data.frame(pdata[,3:4], directed=F)
|
29
|
-
|
30
|
+
|
30
|
-
|
31
|
+
gdata.deg <- degree(gdata) #次数中心性
|
31
|
-
|
32
|
+
gdata.clo <- closeness(gdata) #近接中心性
|
32
|
-
|
33
|
+
gdata.eve <- evcent(gdata)$vector #固有ベクトル中心性
|
33
|
-
|
34
|
+
gdata.bet <- betweenness(gdata) #媒介中心性
|
34
|
-
|
35
|
+
name <- V(gdata)
|
36
|
+
|
35
|
-
|
37
|
+
resFrame1<-data.frame(name[i],gdata.deg[i],gdata.clo[i],gdata.eve[i],gdata.bet[i]) #i番目の結果を代入
|
38
|
+
resFrame2<-rbind(resFrame2,resFrame1) #resFrame2の末行にresFrame1を代入
|
36
39
|
}
|
37
|
-
|
38
|
-
write.csv(
|
40
|
+
write.csv(resFrame2, "test.csv")
|
39
41
|
```
|
40
42
|
### 実現したいこと
|
41
43
|
|
42
|
-
-1について:重複する組み合わせを排除したい。
|
43
|
-
-
|
44
|
+
-4つの中心性を計算し、人名ごとに4つの中心性を出力したい。
|
44
45
|
|name|次数中心性|近接中心性|
|
45
46
|
|:--|:--:|--:|
|
46
47
|
|Aさん|3|0.2|
|