R(quanteda)을 통한 텍스트 구문 분석

61041 단어 RMeCabtech

이 보도에 관하여


이것은 quantedaRcppMeCab의 텍스트 발굴을 사용한 예googledrive로 자신의 글을 분석한 과거 보도를 참조하십시오Qita 로그(revision/10).
또한 아래의 포장은 이곳에서 GiitHub에서 설치할 수 있습니다.
  • paithiov909/audubon
  • paithiov909/ldccr
  • paithiov909/RcppMeCab
  • 이렇게 쓸 수 있는 노트처럼 하고 있는 일을 설명할 뜻은 없다.또한quantedatokenizers는 랩의 함수를 통해 일본어 문서에서도 구분해서 쓸 수 있기 때문에 수중 사전에 수록된 표현 방식에 따라 분담해서 쓰려고 하지 않거나 어성 정보를 원하지 않는 경우 형태소 분석기를 사용하면 이득이 크지 않을 수 있다.tokenizers(내부는 stingi)가 사용하는 ICU의 Boundary Analysis에 대한 규격은 UAX#29 등을 참조하십시오.

    데이터 준비


    뉴스 자료 라이브러리를 텍스트 데이터로 사용합니다.다음 9개의 카테고리.
  • 화제뉴스
  • Sports Watch
  • IT 생활모
  • 가전 채널
  • MOVIE ENTER
  • 혼녀통신
  • 최대화
  • livedoor HOMME
  • Peachy
  • ldccr에 데이터 프레임을 설정합니다.
    data <- ldccr::read_ldnws(exdir = "cache")
    #> Parsing dokujo-tsushin...
    #> Parsing it-life-hack...
    #> Parsing kaden-channel...
    #> Parsing livedoor-homme...
    #> Parsing movie-enter...
    #> Parsing peachy...
    #> Parsing smax...
    #> Parsing sports-watch...
    #> Parsing topic-news...
    #> Done.
    
    그 중 일부를quanteda의 어료 라이브러리 대상으로 저장하고 다양한 시도를 한다.
    corp <- data %>%
      dplyr::sample_frac(size = .2)
    
    corp <- corp %>%
      dplyr::pull("body") %>%
      stringr::str_remove_all("[\u25a0]+") %>%
      audubon::strj_normalize() %>%
      RcppMeCab::posParallel(format = "data.frame") %>%
      tidyr::drop_na() %>%
      audubon::pack() %>%
      dplyr::bind_cols(corp) %>%
      quanteda::corpus()
    

    문자운


    정지어로 사용하다rtweet::stopwordslangs.
    topwords <- rtweet::stopwordslangs %>%
      dplyr::filter(lang == "ja") %>%
      dplyr::filter(p >= .98) %>%
      dplyr::pull(word)
    
    corp %>%
      quanteda::tokens(what = "fastestword", remove_punct = TRUE) %>%
      quanteda::tokens_remove(stopwords, valuetype = "fixed") %>%
      quanteda::dfm() %>%
      quanteda::dfm_group(groups = category) %>%
      quanteda::dfm_trim(min_termfreq = 10L) %>%
      quanteda.textplots::textplot_wordcloud(color = viridis::cividis(8L))
    
    wordcloud-1

    출현 빈도 합계


    corp %>%
      quanteda::tokens(what = "fastestword", remove_punct = TRUE) %>%
      quanteda::tokens_remove(stopwords, valuetype = "fixed") %>%
      quanteda::dfm() %>%
      quanteda::dfm_weight("prop") %>%
      quanteda.textstats::textstat_frequency(groups = category) %>%
      dplyr::top_n(-30L, rank) %>%
      ggpubr::ggdotchart(
        x = "feature",
        y = "frequency",
        group = "group",
        color = "group",
        rotate = TRUE
      ) +
      ggplot2::theme_bw()
    
    stats-1

    Keyness


    나는 IT 생활 해커it-life-hack팀의 문서와 다른 비교를 보고 있다.
    corp %>%
      quanteda::tokens(what = "fastestword", remove_punct = TRUE) %>%
      quanteda::tokens_remove(stopwords, valuetype = "fixed") %>%
      quanteda::dfm() %>%
      quanteda::dfm_group(groups = category) %>%
      quanteda.textstats::textstat_keyness(target = "it-life-hack") %>%
      quanteda.textplots::textplot_keyness()
    
    keyness-1

    대응 분석


    모든 그림을 그리면 붕괴가 보이지 않기 때문에 일부분만 추출합니다.
    corp_sample <- quanteda::corpus_sample(corp, size = 32L)
    corp_sample %>%
      quanteda::tokens(what = "fastestword", remove_punct = TRUE) %>%
      quanteda::tokens_remove(stopwords, valuetype = "fixed") %>%
      quanteda::dfm() %>%
      quanteda::dfm_weight(scheme = "prop") %>%
      quanteda.textmodels::textmodel_ca() %>%
      quanteda.textplots::textplot_scale1d(
        margin = "documents",
        groups = quanteda::docvars(corp_sample, "category")
      )
    
    ca-1

    공유 네트워크


    공기망이 비교적 큰 텍스트 집합이면 붕괴가 보이지 않기 때문에 대응 분석과 같은 어료 라이브러리를 그려보려고 합니다.
    corp_sample %>%
      quanteda::tokens(what = "fastestword", remove_punct = TRUE) %>%
      quanteda::tokens_remove(stopwords, valuetype = "fixed") %>%
      quanteda::dfm() %>%
      quanteda::dfm_group(groups = category) %>%
      quanteda::dfm_trim(min_termfreq = 20L) %>%
      quanteda::fcm() %>%
      quanteda.textplots::textplot_network()
    
    network-1

    클러스터


    맨해튼 거리.여기도 일부분만 추출합니다.
    d <- corp_sample %>%
      quanteda::tokens(what = "fastestword", remove_punct = TRUE) %>%
      quanteda::tokens_remove(stopwords, valuetype = "fixed") %>%
      quanteda::dfm() %>%
      quanteda::dfm_weight(scheme = "prop") %>%
      quanteda.textstats::textstat_dist(method = "manhattan") %>%
      as.dist() %>%
      hclust(method = "ward.D2") %>%
      ggdendro::dendro_data(type = "rectangle") %>%
      purrr::list_modify(
        labels = dplyr::bind_cols(
          .$labels,
          names = names(corp_sample),
          category = quanteda::docvars(corp_sample, "category")
        )
      )
    
    ggplot2::ggplot(ggdendro::segment(d)) +
      ggplot2::geom_segment(aes(x = x, y = y, xend = xend, yend = yend)) +
      ggplot2::geom_text(ggdendro::label(d), mapping = aes(x, y, label = names, colour = category, hjust = 0), size = 3) +
      ggplot2::coord_flip() +
      ggplot2::scale_y_reverse(expand = c(.2, 0)) +
      ggdendro::theme_dendro()
    
    clust-1

    LDA(Latent Dirichlet Allocation)


    LDAquanteda::convert와 관련해서도 dfm를 전환해 직접 전달topicmodels::LDA할 수 있다.공식빠른 시작 설명서을 참고하세요.weighted LDA 등의 구현keyATM을 포함하는 선택지도 있다.
    또 화제 수는 9로 정했다.테마 수를 포함한 파라미터를 검색하려면 ldatuningstm 등을 사용하는 것이 좋다.
    dtm <- corp %>%
      quanteda::tokens(what = "fastestword", remove_punct = TRUE) %>%
      quanteda::tokens_remove(stopwords, valuetype = "fixed") %>%
      quanteda::dfm() %>%
      quanteda::dfm_tfidf()
    
    features <- corp %>%
      quanteda::tokens(what = "fastestword", remove_punct = TRUE) %>%
      quanteda::tokens_remove(stopwords, valuetype = "fixed") %>%
      quanteda::dfm() %>%
      quanteda::ntoken()
    
    m <- dtm %>%
      as("dgCMatrix") %>%
      textmineR::FitLdaModel(k = 9, iterations = 200, burnin = 175)
    
    m$phi %>%
      textmineR::GetTopTerms(15L) %>%
      knitr::kable()
    
    t_1
    t_2
    t_3
    t_4
    t_5
    t_6
    t_7
    t_8
    t_9
    당선되다
    살결
    골프
    홀로
    직장을 옮기다
    소프트웨어
    스크린
    한국어 공부 해요.
    운동원
    메달
    빙그레 웃다
    교과 과정
    남성.
    자전거.
    통화
    기능
    게시판
    시합
    역할
    치즈 치즈
    손자
    결혼하다.
    직원 모집
    docomo
    나타내다

    야촌
    연출자
    도시와 읍
    합계
    검푸르다
    로고
    단말기
    탑재
    후지 텔레비전 방송국
    축구
    액션
    향기
    연습하다
    묻다
    연수입
    커뮤니케이션
    대응
    피라미드
    올림픽 경기
    공연하다
    과 신사
    꽃가루
    점치다
    전시
    업데이트
    docomo
    발언하다
    전중
    주연
    이빨.
    브라
    사상
    다리
    활용단어참조
    설정
    비평하다
    대표자
    여배우
    초밥
    수면
    우편물
    활용단어참조
    다운로드
    서류
    프로그램
    본전
    문장
    버섯.
    클럽
    남편.
    채용하다
    인텔리전스
    직로
    중국 명사
    연출자
    주인공.
    간호하다
    짐.
    남자
    활용단어참조
    전화기
    개평을 떼다
    소택
    송정
    극장.
    초콜릿 쵸콜렛
    훈련
    친구/친구
    패션
    서비스
    ×
    소견
    안나
    우주.
    두바이
    자세.
    외톨이
    무대.
    휴대폰
    약속하다
    이벤트
    게시판
    결정하다.
    회의
    체중계
    작업
    합성하다
    숫자.
    모델
    파벌
    우승자
    개봉
    케이크 케이크
    골프 선수
    활용단어참조
    도시.
    잇닿다
    나타내다
    토픽
    아이를 어루만지다
    공연하다
    과자 과자
    몸뚱이
    세이프티
    활용단어참조
    소리
    조작하다
    보다
    출장
    LDAvis를 사용하여 시각화합니다.다만, LDAvis는 당분간 유지보수되지 않은 포장으로 다소 수상한 행동을 하고 있다.예를 들어 기본 로켈이 CP932인 Windows 환경에서는 LDAvis::createJSON에 나열된 레이블(vocab)의 인코딩이 드래그되어 CP 932가 생성되므로 브라우저에 레이블이 표시되면 코드가 흐려집니다.썼어.json을 UTF-8로 변환하면 혼란을 없앨 수 있기 때문에 먼저 뒤에서 변환하고 덮어쓰는 것이 좋습니다.
    suppressWarnings({
      LDAvis::createJSON(
        phi = m$phi,
        theta = m$theta,
        doc.length = features,
        vocab = stringi::stri_enc_toutf8(dtm@Dimnames$features),
        term.frequency = quanteda::colSums(dtm)
      ) %>%
        LDAvis::serVis(open.browser = FALSE, out.dir = file.path(getwd(), "cache/ldavis"))
    })
    
    readr::read_lines_raw(file.path(getwd(), "cache/ldavis", "lda.json")) %>%
      iconv(from = "CP932", to = "UTF-8") %>%
      jsonlite::parse_json(simplifyVector = TRUE) %>%
      jsonlite::write_json(file.path(getwd(), "cache/ldavis", "lda.json"), dataframe = "columns", auto_unbox = TRUE)
    
    LDAvis

    GloVe


    이곳은 50차원의 매입을 얻었다.
    toks <- corp %>%
      quanteda::tokens(what = "fastestword", remove_punct = TRUE) %>%
      as.list() %>%
      text2vec::itoken()
    
    vocab <- toks %>%
      text2vec::create_vocabulary() %>%
      text2vec::prune_vocabulary(term_count_min = 10L)
    
    vectorize <- text2vec::vocab_vectorizer(vocab)
    
    tcm <- text2vec::create_tcm(
      it = toks,
      vectorizer = vectorize,
      skip_grams_window = 5L
    )
    
    glove <- text2vec::GlobalVectors$new(
      rank = 50,
      x_max = 15L
    )
    
    wv <- glove$fit_transform(
      x = tcm,
      n_iter = 10L
    ) %>%
      as.data.frame(stringsAsFactors = FALSE) %>%
      tibble::as_tibble(.name_repair = "minimal", rownames = NA)
    #> INFO  [21:04:40.364] epoch 1, loss 0.1814 
    #> INFO  [21:04:42.002] epoch 2, loss 0.1063 
    #> INFO  [21:04:43.651] epoch 3, loss 0.0888 
    #> INFO  [21:04:45.242] epoch 4, loss 0.0785 
    #> INFO  [21:04:46.878] epoch 5, loss 0.0717 
    #> INFO  [21:04:48.460] epoch 6, loss 0.0667 
    #> INFO  [21:04:50.077] epoch 7, loss 0.0629 
    #> INFO  [21:04:51.703] epoch 8, loss 0.0599 
    #> INFO  [21:04:53.328] epoch 9, loss 0.0575 
    #> INFO  [21:04:54.920] epoch 10, loss 0.0554
    
    umap로 차원을 줄여 가시화하다.색깔은 stats::kmeans 집합 (여현 유사도) 이다.
    pull_layout <- function(tbl) {
      umap <- umap::umap(as.matrix(tbl))
      layout <- umap$layout
      rownames(layout) <- rownames(tbl)
      return(as.data.frame(layout))
    }
    
    vec <- vocab %>%
      dplyr::anti_join(
        y = tibble::tibble(words = stopwords),
        by = c("term" = "words")
      ) %>%
      dplyr::arrange(desc(term_count)) %>%
      dplyr::slice_head(n = 100L) %>%
      dplyr::left_join(tibble::rownames_to_column(wv), by = c("term" = "rowname")) %>%
      tibble::column_to_rownames("term") %>%
      dplyr::select(starts_with("V"))
    
    dist <- proxyC::simil(as(as.matrix(vec), "dgCMatrix"), method = "cosine")
    clust <- kmeans(x = dist, centers = 9)
    vec <- pull_layout(vec) %>%
      tibble::rownames_to_column() %>%
      dplyr::mutate(cluster = as.factor(clust$cluster))
    
    vec %>%
      ggplot2::ggplot(aes(x = V1, y = V2, colour = cluster)) +
      ggplot2::geom_point() +
      ggrepel::geom_text_repel(aes(label = rowname)) +
      ggplot2::theme_light()
    
    umap-1

    세션 정보


    sessioninfo::session_info()
    #> - Session info -----------------------------------------------------
    #>  setting  value
    #>  version  R version 4.1.2 (2021-11-01)
    #>  os       Windows 10 x64 (build 19043)
    #>  system   x86_64, mingw32
    #>  ui       RStudio
    #>  language (EN)
    #>  collate  Japanese_Japan.932
    #>  ctype    Japanese_Japan.932
    #>  tz       Asia/Tokyo
    #>  date     2022-02-05
    #>  rstudio  2021.09.1+372 Ghost Orchid (desktop)
    #>  pandoc   2.16.2 @ C:/Users/user/AppData/Local/Pandoc/ (via rmarkdown)
    #> 
    #> - Packages ---------------------------------------------------------
    #>  ! package             * version     date (UTC) lib source
    #>    abind                 1.4-5       2016-07-21 [1] CRAN (R 4.1.1)
    #>    askpass               1.1         2019-01-13 [1] CRAN (R 4.1.2)
    #>    assertthat            0.2.1       2019-03-21 [1] CRAN (R 4.1.2)
    #>    audubon               0.0.5       2022-01-30 [1] https://paithiov909.r-universe.dev (R 4.1.2)
    #>    backports             1.4.1       2021-12-13 [1] CRAN (R 4.1.2)
    #>    bit                   4.0.4       2020-08-04 [1] CRAN (R 4.1.2)
    #>    bit64                 4.0.5       2020-08-30 [1] CRAN (R 4.1.2)
    #>    broom                 0.7.12      2022-01-28 [1] CRAN (R 4.1.2)
    #>    bslib                 0.3.1       2021-10-06 [1] CRAN (R 4.1.2)
    #>    cachem                1.0.6       2021-08-19 [1] CRAN (R 4.1.2)
    #>    car                   3.0-12      2021-11-06 [1] CRAN (R 4.1.2)
    #>    carData               3.0-5       2022-01-06 [1] CRAN (R 4.1.2)
    #>    cli                   3.1.1       2022-01-20 [1] CRAN (R 4.1.2)
    #>    coda                  0.19-4      2020-09-30 [1] CRAN (R 4.1.2)
    #>    codetools             0.2-18      2020-11-04 [2] CRAN (R 4.1.2)
    #>    colorspace            2.0-2       2021-06-24 [1] CRAN (R 4.1.2)
    #>    crayon                1.4.2       2021-10-29 [1] CRAN (R 4.1.2)
    #>    curl                  4.3.2       2021-06-23 [1] CRAN (R 4.1.2)
    #>    data.table            1.14.2      2021-09-27 [1] CRAN (R 4.1.2)
    #>    DBI                   1.1.2       2021-12-20 [1] CRAN (R 4.1.2)
    #>    digest                0.6.29      2021-12-01 [1] CRAN (R 4.1.2)
    #>    distill               1.3         2021-10-13 [1] CRAN (R 4.1.2)
    #>    downlit               0.4.0       2021-10-29 [1] CRAN (R 4.1.2)
    #>    dplyr                 1.0.7       2021-06-18 [1] CRAN (R 4.1.2)
    #>    ellipsis              0.3.2       2021-04-29 [1] CRAN (R 4.1.2)
    #>    evaluate              0.14        2019-05-28 [1] CRAN (R 4.1.2)
    #>    fansi                 1.0.2       2022-01-14 [1] CRAN (R 4.1.2)
    #>    farver                2.1.0       2021-02-28 [1] CRAN (R 4.1.2)
    #>    fastmap               1.1.0       2021-01-25 [1] CRAN (R 4.1.2)
    #>    fastmatch             1.1-3       2021-07-23 [1] CRAN (R 4.1.1)
    #>    float                 0.2-6       2021-09-20 [1] CRAN (R 4.1.1)
    #>    foreach               1.5.1       2020-10-15 [1] CRAN (R 4.1.2)
    #>    generics              0.1.2       2022-01-31 [1] CRAN (R 4.1.2)
    #>    ggdendro              0.1.22      2020-09-13 [1] CRAN (R 4.1.2)
    #>    ggplot2             * 3.3.5       2021-06-25 [1] CRAN (R 4.1.2)
    #>    ggpubr                0.4.0       2020-06-27 [1] CRAN (R 4.1.2)
    #>    ggrepel               0.9.1       2021-01-15 [1] CRAN (R 4.1.2)
    #>    ggsignif              0.6.3       2021-09-09 [1] CRAN (R 4.1.2)
    #>    glmnet                4.1-3       2021-11-02 [1] CRAN (R 4.1.2)
    #>    glue                  1.6.1       2022-01-22 [1] CRAN (R 4.1.2)
    #>    gridExtra             2.3         2017-09-09 [1] CRAN (R 4.1.2)
    #>    gtable                0.3.0       2019-03-25 [1] CRAN (R 4.1.2)
    #>    highr                 0.9         2021-04-16 [1] CRAN (R 4.1.2)
    #>    hms                   1.1.1       2021-09-26 [1] CRAN (R 4.1.2)
    #>    htmltools             0.5.2       2021-08-25 [1] CRAN (R 4.1.2)
    #>    httpuv                1.6.5       2022-01-05 [1] CRAN (R 4.1.2)
    #>    httr                  1.4.2       2020-07-20 [1] CRAN (R 4.1.2)
    #>    iterators             1.0.13      2020-10-15 [1] CRAN (R 4.1.2)
    #>    jquerylib             0.1.4       2021-04-26 [1] CRAN (R 4.1.2)
    #>    jsonlite              1.7.3       2022-01-17 [1] CRAN (R 4.1.2)
    #>    knitr                 1.37        2021-12-16 [1] CRAN (R 4.1.2)
    #>    labeling              0.4.2       2020-10-20 [1] CRAN (R 4.1.1)
    #>    later                 1.3.0       2021-08-18 [1] CRAN (R 4.1.2)
    #>    lattice               0.20-45     2021-09-22 [2] CRAN (R 4.1.2)
    #>    LDAvis                0.3.2       2015-10-24 [1] CRAN (R 4.1.2)
    #>    ldccr                 0.0.6.900   2022-02-05 [1] Github (paithiov909/ldccr@b23ef2f)
    #>    lgr                   0.4.3       2021-09-16 [1] CRAN (R 4.1.2)
    #>    LiblineaR             2.10-12     2021-03-02 [1] CRAN (R 4.1.2)
    #>    lifecycle             1.0.1       2021-09-24 [1] CRAN (R 4.1.2)
    #>    magrittr            * 2.0.2       2022-01-26 [1] CRAN (R 4.1.2)
    #>    MASS                  7.3-54      2021-05-03 [2] CRAN (R 4.1.2)
    #>    Matrix                1.3-4       2021-06-01 [2] CRAN (R 4.1.2)
    #>    memoise               2.0.1       2021-11-26 [1] CRAN (R 4.1.2)
    #>    mlapi                 0.1.0       2017-12-17 [1] CRAN (R 4.1.2)
    #>    munsell               0.5.0       2018-06-12 [1] CRAN (R 4.1.2)
    #>    network               1.17.1      2021-06-14 [1] CRAN (R 4.1.2)
    #>    nsyllable             1.0         2020-11-30 [1] CRAN (R 4.1.2)
    #>    openssl               1.4.6       2021-12-19 [1] CRAN (R 4.1.2)
    #>    pillar                1.7.0       2022-02-01 [1] CRAN (R 4.1.2)
    #>    pkgconfig             2.0.3       2019-09-22 [1] CRAN (R 4.1.2)
    #>    png                   0.1-7       2013-12-03 [1] CRAN (R 4.1.1)
    #>    promises              1.2.0.1     2021-02-11 [1] CRAN (R 4.1.2)
    #>    proxy                 0.4-26      2021-06-07 [1] CRAN (R 4.1.2)
    #>    proxyC                0.2.4       2021-12-10 [1] CRAN (R 4.1.2)
    #>    purrr                 0.3.4       2020-04-17 [1] CRAN (R 4.1.2)
    #>    quanteda            * 3.2.0       2021-11-30 [1] CRAN (R 4.1.2)
    #>    quanteda.textmodels   0.9.4       2021-04-06 [1] CRAN (R 4.1.2)
    #>    quanteda.textplots    0.94        2021-04-06 [1] CRAN (R 4.1.2)
    #>    quanteda.textstats    0.95        2021-11-24 [1] CRAN (R 4.1.2)
    #>    R.cache               0.15.0      2021-04-30 [1] CRAN (R 4.1.2)
    #>    R.methodsS3           1.8.1       2020-08-26 [1] CRAN (R 4.1.1)
    #>    R.oo                  1.24.0      2020-08-26 [1] CRAN (R 4.1.1)
    #>    R.utils               2.11.0      2021-09-26 [1] CRAN (R 4.1.2)
    #>    R6                    2.5.1       2021-08-19 [1] CRAN (R 4.1.2)
    #>    Rcpp                  1.0.8       2022-01-13 [1] CRAN (R 4.1.2)
    #>    RcppMeCab             0.0.1.3.900 2022-01-17 [1] local
    #>  D RcppParallel          5.1.5       2022-01-05 [1] CRAN (R 4.1.2)
    #>    RcppProgress          0.4.2       2020-02-06 [1] CRAN (R 4.1.2)
    #>    readr                 2.1.1       2021-11-30 [1] CRAN (R 4.1.2)
    #>    reticulate            1.24        2022-01-26 [1] CRAN (R 4.1.2)
    #>    RhpcBLASctl           0.21-247.1  2021-11-05 [1] CRAN (R 4.1.2)
    #>    RJSONIO               1.3-1.6     2021-09-16 [1] CRAN (R 4.1.1)
    #>    rlang                 1.0.0       2022-01-26 [1] CRAN (R 4.1.2)
    #>    rmarkdown             2.11        2021-09-14 [1] CRAN (R 4.1.2)
    #>    rsparse               0.5.0       2021-11-30 [1] CRAN (R 4.1.2)
    #>    RSpectra              0.16-0      2019-12-01 [1] CRAN (R 4.1.2)
    #>    rstatix               0.7.0       2021-02-13 [1] CRAN (R 4.1.2)
    #>    rstudioapi            0.13        2020-11-12 [1] CRAN (R 4.1.2)
    #>    rtweet                0.7.0       2020-01-08 [1] CRAN (R 4.1.2)
    #>    sass                  0.4.0       2021-05-12 [1] CRAN (R 4.1.2)
    #>    scales                1.1.1       2020-05-11 [1] CRAN (R 4.1.2)
    #>    servr               * 0.24        2021-11-16 [1] CRAN (R 4.1.2)
    #>    sessioninfo           1.2.2       2021-12-06 [1] CRAN (R 4.1.2)
    #>    shape                 1.4.6       2021-05-19 [1] CRAN (R 4.1.1)
    #>    sna                   2.6         2020-10-06 [1] CRAN (R 4.1.2)
    #>    SparseM               1.81        2021-02-18 [1] CRAN (R 4.1.1)
    #>    statnet.common        4.5.0       2021-06-05 [1] CRAN (R 4.1.2)
    #>    stopwords             2.3         2021-10-28 [1] CRAN (R 4.1.2)
    #>    stringi               1.7.6       2021-11-29 [1] CRAN (R 4.1.2)
    #>    stringr               1.4.0       2019-02-10 [1] CRAN (R 4.1.2)
    #>    styler                1.6.2       2021-09-23 [1] CRAN (R 4.1.2)
    #>    survival              3.2-13      2021-08-24 [2] CRAN (R 4.1.2)
    #>    text2vec              0.6         2020-02-18 [1] CRAN (R 4.1.2)
    #>    textmineR             3.0.5       2021-06-28 [1] CRAN (R 4.1.2)
    #>    tibble                3.1.6       2021-11-07 [1] CRAN (R 4.1.2)
    #>    tidyr                 1.1.4       2021-09-27 [1] CRAN (R 4.1.2)
    #>    tidyselect            1.1.1       2021-04-30 [1] CRAN (R 4.1.2)
    #>    tzdb                  0.2.0       2021-10-27 [1] CRAN (R 4.1.2)
    #>    umap                  0.2.7.0     2020-11-04 [1] CRAN (R 4.1.2)
    #>    utf8                  1.2.2       2021-07-24 [1] CRAN (R 4.1.2)
    #>    V8                    4.0.0       2021-12-23 [1] CRAN (R 4.1.2)
    #>    vctrs                 0.3.8       2021-04-29 [1] CRAN (R 4.1.2)
    #>    viridis               0.6.2       2021-10-13 [1] CRAN (R 4.1.2)
    #>    viridisLite           0.4.0       2021-04-13 [1] CRAN (R 4.1.2)
    #>    vroom                 1.5.7       2021-11-30 [1] CRAN (R 4.1.2)
    #>    withr                 2.4.3       2021-11-30 [1] CRAN (R 4.1.2)
    #>    xfun                  0.29        2021-12-14 [1] CRAN (R 4.1.2)
    #>    yaml                  2.2.2       2022-01-25 [1] CRAN (R 4.1.2)
    #> 
    #>  [1] C:/Users/user/R/win-library/4.1
    #>  [2] C:/Program Files/R/R-4.1.2/library
    #> 
    #>  D -- DLL MD5 mismatch, broken installation.
    #> 
    #> --------------------------------------------------------------------
    

    좋은 웹페이지 즐겨찾기