페이스북 사용자 네트워크 분석을 해볼 수 있는 것이 있다 .
그러기 위해서는 파일이 필요한데 , 다음 주소를 들어가서 다운 받아 주자.
http://snap.stanford.edu/ <-- 이 주소를 클릭해서 들어간다.
1. 초기 화면은 다음과 같을 텐데 , Dataset Collection을 들어가자.
2.들어가면 다음과 같은 화면이 보일 것이다 . ego-Facebook을 들어가주자.
3.들어 간뒤 맨 밑에 내리다 보면 다음과 같은 파일을 다운받아 주자 .
다운이 끝나면 준비는 끝났다 .
우리는 이 파일을 사용해서 R에서 데이터 분석을 해 볼 것이다.
보통 보니까 여기서의 Vertex : 꼭지점은 사용자이고 , 이들을 연결한 Edge는 네트워크 망을 의미하는 것 같다.'
library(igraph)
sn <- read.table(file.choose(), header=F)
# 페이스북 사용자 데이터 세트 읽기
sn.df <- graph.data.frame(sn, directed=FALSE)
# sn 데이터를 그래프 형식의 데이터 프레임으로 변환
# directed = F 로 지정하면 방향성이 없음을 의미
plot(sn.df)
# 연결망 출력
--> 여기서 plot 을 하면 시간이 2~3 분 정도 소요될 것이다. 데이터가 많기 때문이다.
sn1 <- subset(sn, sn$V1==1)
# sn데이터에서 V1 ==1 인 값을 sn1에 저장
sn1.df <- graph.data.frame(sn1, directed=FALSE)
# sn1 데이터를 그래프 형식의 데이터 프레임으로 변환
plot(sn1.df)
vcount(sn.df)
# sn데이터 프레임의 꼭지점 총 갯수
ecount(sn.df)
# sn데이터 프레임의 총 연결 갯수
V(sn.df)$name
# sn 데이터 프레임의 name 출력
degree(sn.df, normalized=TRUE)
# sn 데이터 프레임의 연결 정규화
tmax <- centralization.degree.tmax(sn.df)
# sn 데이터 프레임의 연결 집중화 정도
centralization.degree(sn.df, normalized=FALSE)$centralization / tmax
# sn 데이터 프레임의 평균 연결 집중 정도
vmax <- V(sn.df)$name[degree(sn.df)==max(degree(sn.df))]
# sn 데이터 프레임의 이름 ( 연결의 정도가 max인 )
degree(sn.df, vmax)
# 위의 조건을 만족하는 데이터 프레임의 정도
# p.351
summary(degree(sn.df))
# sn데이터 프레임의 연결 정도의 분석
plot(degree(sn.df), xlab="수치", ylab="값", type='h')
'학부공부 > 데이터마이닝과통계' 카테고리의 다른 글
CA-HepTh.txt ( 고에너지 물리학 - 현상학 ) 분석하기 (0) | 2018.10.05 |
---|---|
천체 물리학 협업 네트워크를 다뤄보자. (0) | 2018.10.03 |
네트워크만들기 (0) | 2018.09.22 |
네트워크의 개요 , 지표 (0) | 2018.09.22 |
문재인 대통령님의 취임사 데이터 분석하기 (0) | 2018.09.19 |
#IT #먹방 #전자기기 #일상
#개발 #일상