0
我有一个R这样的数据帧df。我想循环通过DF根据hee_provn1的不同值R:遍历一列数据帧并输出
npi_one npi_two hee_provn1
1 2 175221
3 4 175221
5 6 175221
7 8 175221
9 10 576546
11 12 576546
13 14 576546
15 16 789535
17 18 789535
19 20 789535
现在我的R代码里面是:
library(dplyr)
library(igraph)
df2 <- filter(df, hee_provn1 == '175221')
df3 <- df2 [,c("npi_one","npi_two")]
l = c(apply(df3,1,c))
G <- graph(l,directed = FALSE)
degree(G) -> d
closeness(G) -> c
betweenness(G) -> b
eigen_centrality(G)$vector -> e
cent_df = data.frame(d,c,b,e)
colnames(cent_df) <- c('degree', 'closeness','betweenness','eigen')
cbind(hee_provn1 = 175221,cent_df)
第一环路的结果表cent_df(hee_provn1 = 175221)是
hee_provn1 degree closeness betweenness eigen
1 175221 1 0.02040816 0 0.3227867
2 175221 1 0.02040816 0 0.3227867
3 175221 1 0.02040816 0 0.0000000
4 175221 1 0.02040816 0 0.0000000
5 175221 1 0.02040816 0 1.0000000
6 175221 1 0.02040816 0 1.0000000
7 175221 1 0.02040816 0 0.0000000
8 175221 1 0.02040816 0 0.0000000
第二环(hee_provn1 = 576546)的结果表cent_df是
hee_provn1 degree closeness betweenness eigen
1 576546 0 0.005494505 0 0
2 576546 0 0.005494505 0 0
3 576546 0 0.005494505 0 0
4 576546 0 0.005494505 0 0
5 576546 0 0.005494505 0 0
6 576546 0 0.005494505 0 0
7 576546 0 0.005494505 0 0
8 576546 0 0.005494505 0 0
9 576546 1 0.005917160 0 1
10 576546 1 0.005917160 0 1
11 576546 1 0.005917160 0 0
12 576546 1 0.005917160 0 0
13 576546 1 0.005917160 0 0
14 576546 1 0.005917160 0 0
我的想法结果槽形一个循环,我可以把所有的结果表一起在一个大的表像
hee_provn1 degree closeness betweenness eigen
1 175221 1 0.02040816 0 0.3227867
2 175221 1 0.02040816 0 0.3227867
3 175221 1 0.02040816 0 0.0000000
4 175221 1 0.02040816 0 0.0000000
5 175221 1 0.02040816 0 1.0000000
6 175221 1 0.02040816 0 1.0000000
7 175221 1 0.02040816 0 0.0000000
8 175221 1 0.02040816 0 0.0000000
9 576546 0 0.005494505 0 0
10 576546 0 0.005494505 0 0
11 576546 0 0.005494505 0 0
12 576546 0 0.005494505 0 0
13 576546 0 0.005494505 0 0
14 576546 0 0.005494505 0 0
15 576546 0 0.005494505 0 0
16 576546 0 0.005494505 0 0
17 576546 1 0.005917160 0 1
18 576546 1 0.005917160 0 1
19 576546 1 0.005917160 0 0
20 576546 1 0.005917160 0 0
21 576546 1 0.005917160 0 0
22 576546 1 0.005917160 0 0
我真的希望能尽可能高效。
什么包是'graph'而来? – CPak
igraph。谢谢 – kkjoe
我已经编辑了包信息内的代码,谢谢 – kkjoe