R knitr : R 및 Python 코드와 함께 spin () 사용

fdetsch

reticulate 의 출현과 함께 R과 Python을 단일 .Rmd 문서로 결합하는 것이 R 커뮤니티에서 점점 인기를 얻고 있습니다 (자신도 포함). 이제 내 개인 워크 플로는 일반적으로 R 스크립트로 시작하고, 어느 시점에서 knitr::spin()코드 중복을 피하기 위해 일반 .R 문서를 입력으로 사용하여 공유 가능한 보고서를 만듭니다 ( Knitr의 최고의 숨겨진 보석 : 자세한 내용은 스핀 참조). 이야기).

그러나 Python 코드가 분석에 포함 되 자마자 현재이 워크 플로를 중단하고 보고서를 컴파일하기 전에 초기 .R 스크립트를 .Rmd로 수동으로 변환 (예 : 복사 및 붙여 넣기)해야합니다. knitr::spin()이 우회를하지 않고 단일 .R 파일에서 R 및 Python 코드 청크를 모두 사용할 수 있는지 여부를 아는 사람이 있는지 궁금합니다 . .Rmd 파일에서 두 언어를 혼합하고 두 언어간에 객체를 교환 할 때 작동하는 것처럼 작동합니다. 적어도 내가 아는 engine = 'python'한 현재로서는 문서를 돌리는 것과 같은 것을 추가 할 가능성이 없습니다 .

베드로

의 사용은 reticulate::source_python하나의 해결책이 될 수 있습니다.

예를 들어 다음은 .Rmd로 회전 한 다음 .html로 렌더링되는 간단한 .R 스크립트입니다.

스핀 미 R

#'---
#'title: R and Python in a spin file.
#'---
#'
#' This is an example of one way to write one R script, containing both R and
#' python, and can be spun to .Rmd via knitr::spin.
#'
#+ label = "setup"
library(nycflights13)
library(ggplot2)
library(reticulate)
use_condaenv()

#'
#' Create the file flights.csv to
#'
#+ label = "create_flights_csv"
write.csv(flights, file = "flights.csv")

#'
#' The file flights.py will read in the data from the flights.csv file.  It can
#' be evaluated in this script via source_python().  This sould add a data.frame
#' called `py_flights` to the workspace.
source_python(file = "flights.py")

#'
#' And now, plot the results.
#'
#+ label = "plot"
ggplot(py_flights) + aes(carrier, arr_delay) + geom_point() + geom_jitter()


# /* spin and knit this file to html
knitr::spin(hair = "spin-me.R", knit = FALSE)
rmarkdown::render("spin-me.Rmd")
# */

파이썬 파일은

flights.py

import pandas
py_flights = pandas.read_csv("flights.csv")
py_flights = py_flights[py_flights['dest'] == "ORD"]
py_flights = py_flights[['carrier', 'dep_delay', 'arr_delay']]
py_flights = py_flights.dropna()

결과 .html의 화면 캡처는 다음과 같습니다.

여기에 이미지 설명 입력

편집 모든 것을 하나의 파일에 보관해야하는 경우 source_python호출 하기 전에 파이썬 파일을 만들 수 있습니다. 예 :

pycode <-
'import pandas
py_flights = pandas.read_csv("flights.csv")
py_flights = py_flights[py_flights["dest"] == "ORD"]
py_flights = py_flights[["carrier", "dep_delay", "arr_delay"]]
py_flights = py_flights.dropna()
'
cat(pycode, file = "temp.py")
source_python(file = "temp.py")

내 의견 : 파이썬 코드를 자체 파일에 포함하는 것이 두 가지 이유로 R 스크립트에서 생성하는 것보다 낫습니다.

  1. 파이썬 코드의 더 쉬운 재사용
  2. 내 IDE의 구문 강조 표시는 자체 파일이 아닌 문자열로 작성 될 때 파이썬 코드에서 손실됩니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Leaflet 및 DataTable과 함께 R shiny 사용

분류에서Dev

R에서 mutate, case_when, any () 및 all () 함수와 함께 Group by 사용

분류에서Dev

reactValues ()와 함께 highcharter와 r shiny 사용

분류에서Dev

knitr를 사용하여 HTML 슬라이드 및 별도의 R 코드 파일 만들기

분류에서Dev

MATLAB R2016a와 함께 glmnet 사용

분류에서Dev

R Markdown (check.Rmd) 및 R knitr (test.Rnw) 파일을 함께 실행합니다.

분류에서Dev

R에서 lapply와 lm 함수를 함께 사용

분류에서Dev

foreach와 함께 R에서 멀티 코어를 사용하는 For 루프

분류에서Dev

colMeans 및 colVar와 함께 summary_all을 사용하여 R에서 피벗 테이블 만들기

분류에서Dev

r_make ()와 함께 drake 전용 환경 사용

분류에서Dev

AJAX 및 Python 데이터베이스와 함께 JSON 사용

분류에서Dev

count_if와 함께 grep 사용 (R의 EXPSS 패키지)

분류에서Dev

TypeScript와 함께 R.pick을 사용하는 방법

분류에서Dev

연도와 함께 r에서 lm () 사용 시도

분류에서Dev

PyRserve와 함께 R 패키지 pmultinom 사용

분류에서Dev

R에서 taRifx.geo와 함께 Bing 옵션 사용

분류에서Dev

R의 텍스트와 함께 pos 벡터 사용

분류에서Dev

R의 텍스트와 함께 pos 벡터 사용

분류에서Dev

r -f와 함께 qqplot을 사용하는 방법

분류에서Dev

R에서 Magrittr 파이프와 함께 tryCatch 사용

분류에서Dev

R에서 두 개의 인수와 함께 "포함"함수 사용

분류에서Dev

R의 대체 함수와 함께 within ()의 벡터 사용 (memisc도 포함됨)

분류에서Dev

ifelse는 R에서 mutate와 함께 작동하는데, knitr에서는 왜 안됩니까?

분류에서Dev

R : 'splinefun'및 ggplot2 'stat_function'과 함께 시계열 데이터 사용

분류에서Dev

SUDS 및 Python과 함께 QueryXML 사용

분류에서Dev

wget은 -r 및 -O-와 함께 중단됩니다.

분류에서Dev

Hibernate Table 및 flyway와 함께 spel 사용

분류에서Dev

proptypes 및 eslint와 함께 forwardRef 사용

분류에서Dev

Diango 및 Flutter와 함께 FCM 사용

Related 관련 기사

  1. 1

    Leaflet 및 DataTable과 함께 R shiny 사용

  2. 2

    R에서 mutate, case_when, any () 및 all () 함수와 함께 Group by 사용

  3. 3

    reactValues ()와 함께 highcharter와 r shiny 사용

  4. 4

    knitr를 사용하여 HTML 슬라이드 및 별도의 R 코드 파일 만들기

  5. 5

    MATLAB R2016a와 함께 glmnet 사용

  6. 6

    R Markdown (check.Rmd) 및 R knitr (test.Rnw) 파일을 함께 실행합니다.

  7. 7

    R에서 lapply와 lm 함수를 함께 사용

  8. 8

    foreach와 함께 R에서 멀티 코어를 사용하는 For 루프

  9. 9

    colMeans 및 colVar와 함께 summary_all을 사용하여 R에서 피벗 테이블 만들기

  10. 10

    r_make ()와 함께 drake 전용 환경 사용

  11. 11

    AJAX 및 Python 데이터베이스와 함께 JSON 사용

  12. 12

    count_if와 함께 grep 사용 (R의 EXPSS 패키지)

  13. 13

    TypeScript와 함께 R.pick을 사용하는 방법

  14. 14

    연도와 함께 r에서 lm () 사용 시도

  15. 15

    PyRserve와 함께 R 패키지 pmultinom 사용

  16. 16

    R에서 taRifx.geo와 함께 Bing 옵션 사용

  17. 17

    R의 텍스트와 함께 pos 벡터 사용

  18. 18

    R의 텍스트와 함께 pos 벡터 사용

  19. 19

    r -f와 함께 qqplot을 사용하는 방법

  20. 20

    R에서 Magrittr 파이프와 함께 tryCatch 사용

  21. 21

    R에서 두 개의 인수와 함께 "포함"함수 사용

  22. 22

    R의 대체 함수와 함께 within ()의 벡터 사용 (memisc도 포함됨)

  23. 23

    ifelse는 R에서 mutate와 함께 작동하는데, knitr에서는 왜 안됩니까?

  24. 24

    R : 'splinefun'및 ggplot2 'stat_function'과 함께 시계열 데이터 사용

  25. 25

    SUDS 및 Python과 함께 QueryXML 사용

  26. 26

    wget은 -r 및 -O-와 함께 중단됩니다.

  27. 27

    Hibernate Table 및 flyway와 함께 spel 사용

  28. 28

    proptypes 및 eslint와 함께 forwardRef 사용

  29. 29

    Diango 및 Flutter와 함께 FCM 사용

뜨겁다태그

보관