issue-code에서 가장자리 목록 추출

7599 단어 R

소개



NOMINATE의 데이터는 실은 스코어뿐만 아니라 issue-code도 붙어 있네요.
게다가 이 녀석 하나의 법안에 대해 복수의 issue-code가 주어져 있거나 하기 때문에, 같은 법안에 붙은 issue-code를 「연결되어 있다」 취급으로 해 네트워크 데이터를 작성해 보고 싶습니다.
데이터 소스:
Lewis, Jeffrey B., Keith Poole, Howard Rosenthal, Adam Boche, Aaron Rudkin, and Luke Sonnet (2020). Voteview: Congressional Roll-Call Votes Database. h tps:///ゔぉ테ゔぃ에w. 코m/

데이터 편집



로딩
library(tidyverse)
rollcalls <- readRDS("data/NOMINATE/rollcalls_all.rds") 
#元データが死ぬほど重いのでrds化してあります

접수 상원에 제출된 법안에 대해 보고 싶습니다.
#下院を会期別にみてみる
con <- 93 #仮に93議会についてやってみます
RC_year <- rollcalls %>%
  filter(congress==con, chamber=="Senate") %>% #93議会の上院を抽出
  select(issue_codes) #issue codeを抽出

df <- list()
for(i in 1:nrow(RC_year)){
  if(length(RC_year$issue_codes[[i]]) >= 2){
    df <- c(df, list(RC_year$issue_codes[[i]]))
  }else{}
}

dataframe <- matrix(NA, length(df), 2)
colnames(dataframe) <- c("code1", "code2")
for(j in 1:length(df)){
  dataframe[j,1] <- df[[j]][1]
  dataframe[j,2] <- df[[j]][2]
}
topic.e <- as_tibble(dataframe)

뭔가 더 잘 할 수 있다고 생각한다.
덧붙여서 가중치를 처리하려고 하면 다음과 같이 됩니다.
//어쩐지 모르지만 가중치의 행을 igraph에 읽히지 않기 때문에 읽으면 가필합니다.
//누군가 말해줘.
topic.e <- topic.e %>%
  group_by(code1, code2) %>%
  summarise(multi=n())

library(igraph)
g <- graph.data.frame(topic.e[1:2],directed=F)

이것을 플롯해 보면 이런 느낌의 그림이 생깁니다.

좋은 웹페이지 즐겨찾기