RStudio로 부담없이 LGTM

9784 단어 RRStudio
모두 사랑 RStudio의 새로운 Preview 버전 (v0.99.825)이 출시됨 . 몇 가지 새로운 기능이 있지만, 그 중에서도 주목하고 싶은 것은 "RStudio Addins"입니다.

프로세스로서 일련의 처리를 실행하는 것이 가능하거나, 인터랙티브하게 R 오브젝트의 조작을 할 수 있거나, 지금까지 없었던 새로운 기능으로 즐길 수 있을 것 같습니다. 자세한 것은 RStudio의 공식 페이지 를 봐 달라고 한다고 해서, 이번은 타이틀대로, RStudio로 LGTM 화상을 출력한다, 라고 하는 이야기가 됩니다.

동작 예



무엇이든 여기를 참조하십시오.



재미 있습니다.

이번에는 Shiny Gadgets로 만들었습니다. RStudio Addins를 배포하려면 패키지로 묶어야 하지만, 단순히 호출하면 다음 코드를 복사하여 일반 함수를 실행하면 됩니다. LGTM하고 싶을 때는 꼭 시도하십시오.

R 코드


# 必要なパッケージを読み込む
library(shiny)
library(shinygadgets)
library(rstudioaddins)
# 関数を定義する
rlgtm <- function(user = NULL, height = 400) {
  # 画像用に一時ファイルを作成
  tmpf <- tempfile()

  # LGTM画像のURLを取得
  #   ユーザー名を指定した場合、ユーザーのお気に入りからランダムにLGTM画像を表示
  image_url <- ifelse(is.null(user), "http://lgtm.in/g", paste("http://lgtm.in/g", user, sep = "/")) %>% 
    xml2::read_html() %>% 
    rvest::html_nodes(css = "form input") %>% 
    extract(1) %>%
    rvest::html_attr("value")
  image_ext <- tools::file_ext(image_url)

  # URLからファイルをダウンロード
  download.file(url      = image_url,
                destfile = paste(tmpf, image_ext, sep = "."),
                quiet    = TRUE)

  # 画像サイズを変更
  image <- paste(tmpf, image_ext, sep = ".") %>% 
    webshot::resize(paste0("x", height))

  # Shiny の部分
  ui <- imageOutput("image")
  server <- function(input, output, session) {
    output$image <- renderImage({
      list(src = image, height = height)
    })
  }
  # Viewerの起動。paneViewer()関数で出力時のviewerのサイズ(最低の高さ)を指定
  runGadget(ui, server, viewer = paneViewer(height))
}
# 関数の実行
rlgtm()

# ユーザー名を指定して実行
rlgtm(user = "uribo")

메커니즘



간단합니다.

  • LGTM 이미지를 htp //lgtm. 응에서 가져옵니다. 출력하는 LGTM 화상은 무작위로 한 장 표시하는 페이지 로부터 선택하도록 한다.
  • user 인수로 GitHub 계정으로 즐겨 찾기를 등록한 경우 사용자의 즐겨 찾기에서 이미지를 표시합니다.

  • webshot::resize() 로 이미지의 크기(높이)를 변경했습니다. 초기값으로 400px로 설정.
  • 이 높이가 viewer 의 높이 ( paneViewer() 에서의 minHeight 인수가 되므로, viewer 를 작게 해도 확대되게 된다.




  • LGTM!

    좋은 웹페이지 즐겨찾기