% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/download.R
\name{get_proposers}
\alias{get_proposers}
\title{Download bill co-sponsorship records}
\usage{
get_proposers(cache_dir = NULL, force_download = FALSE)
}
\arguments{
\item{cache_dir}{Directory to cache downloaded files. Defaults to
\code{tools::R_user_dir("assemblykor", "cache")}.}

\item{force_download}{Logical. If \code{TRUE}, re-download even if cached.}
}
\value{
A data frame with 769,773 rows and 8 variables:
\describe{
\item{bill_id}{Bill identifier (links to \code{bills$bill_id})}
\item{bill_no}{Numeric bill number}
\item{bill_name}{Bill title in Korean}
\item{propose_date}{Proposal date}
\item{proposer_name}{Legislator name}
\item{proposer_party}{Party affiliation at the time of co-sponsorship}
\item{member_id}{Legislator identifier (links to \code{legislators$member_id})}
\item{is_lead}{Logical: \code{TRUE} if lead (primary) proposer, \code{FALSE} if co-sponsor}
}
}
\description{
Downloads the complete proposer records (769,773 rows) listing every
legislator who co-sponsored each bill. Requires the \pkg{arrow} package.
}
\examples{
\donttest{
if (requireNamespace("arrow", quietly = TRUE) &&
    requireNamespace("dplyr", quietly = TRUE)) {
  props <- get_proposers(cache_dir = tempdir())

  # Build co-sponsorship edgelist
  leads <- dplyr::select(
    dplyr::filter(props, is_lead), bill_id, lead = member_id
  )
  cosponsors <- dplyr::select(
    dplyr::filter(props, !is_lead), bill_id, cosponsor = member_id
  )
  edges <- dplyr::inner_join(
    leads, cosponsors,
    by = "bill_id", relationship = "many-to-many"
  )
}
}

}
