source

통계 분석 및 보고서 작성 워크플로우

factcode 2023. 6. 18. 16:21
반응형

통계 분석 및 보고서 작성 워크플로우

맞춤형 보고서 작성과 관련된 데이터 분석 워크플로우에 대해 아는 사람이 있습니까?사용 사례는 기본적으로 다음과 같습니다.

  1. 고객은 데이터 분석(예: 인구 추정치 및 수역 관련 지도)을 사용하는 보고서를 의뢰합니다.

  2. 분석가는 일부 데이터를 다운로드하고 데이터를 멍에를 씌운 다음 결과를 저장합니다(예: 단위당 모집단 열을 추가하거나 지역 경계를 기준으로 데이터의 부분 집합을 지정).

  3. 분석가는 (2)에서 생성된 데이터를 분석하고 목표에 근접하지만, 데이터가 더 필요하다고 판단하여 (1)로 돌아갑니다.

  4. 표와 그래픽이 QA/QC를 충족하고 고객이 만족할 때까지 반복하여 헹굽니다.

  5. 표와 그래픽을 통합한 보고서 작성.

  6. 내년에 행복한 고객이 돌아와서 업데이트를 원합니다.이는 사양이 변경되지 않는 한 새로운 다운로드(예: 작년부터 건물 허가 획득)를 통해 업스트림 데이터를 업데이트하고 "RECALCULATE" 버튼을 누르는 것처럼 간단해야 합니다.

지금은 디렉토리를 시작하고 가능한 한 애드혹을 실행합니다.좀 더 체계적인 접근을 원합니다 누군가가 이걸 알아냈기를 바랍니다스프레드시트, SQL, ARCGIS, R 및 Unix 도구를 혼합하여 사용합니다.

감사합니다!

PS:

는 다양한 데이터 종속성을 확인하는 입니다(w/ 아는다양중간데니입세대확다인본기하는속종을성한트래)..RData및으)는 다음과 같습니다..R 을 확인할 수 합니다. 는 make " 입니다.touch ss07por.csv이 파일이 이 파일에 종속된 모든 파일/대상보다 최신임을 확인하고 그에 따라 업데이트하기 위해 지정된 스크립트를 실행합니다.이 작업은 SQL 데이터베이스에 넣는 단계와 Sweave와 같은 템플릿 언어를 위한 단계를 포함하여 여전히 진행 중인 작업입니다.Make는 구문의 탭에 의존하므로 잘라내기 및 붙여넣기 전에 설명서를 읽으십시오.즐기고 피드백을 주세요!

http://www.gnu.org/software/make/manual/html_node/index.html#Top

R=/home/wsprague/R-2.9.2/bin/R
인적 자료RData : 데이터 가져오기.R ..../../DATA/ss07port.csv 함수.r$R --slave -f ImportData.r
인적 자료Munged.RData : MunggeData.개인 데이터.RData 기능.r$R --slave -f MunggeData.r
report.txt: 표 및 그래프.개인 데이터.Munged.RData 함수입니다.r$R --slave -f 표 및 그래프.보고를 하다txt

저는 일반적으로 프로젝트를 4개로 나눕니다.

  1. 로드.R
  2. 깨끗한.R
  3. 펑시알
  4. do.R

load합니다.load.R: 필요한 모든 데이터의 로드를 처리합니다.일반적으로 파일, URL 및/또는 ODBC에서 데이터를 읽어 들이는 짧은 파일입니다.이 시점의 프로젝트에 따라 다음을 사용하여 작업 공간을 작성합니다.save()아니면 그냥 다음 단계를 위해 기억에 남겨두세요.

clean.R: 이 곳은 모든 추악한 것들이 사는 곳입니다. 누락된 값을 처리하고, 데이터 프레임을 병합하고, 특이치를 처리합니다.

func.R: 실제 분석을 수행하는 데 필요한 모든 기능을 포함합니다. source()'이 파일은 함수 정의를 로드하는 것 외에 다른 부작용이 없어야 합니다., 하는 데 수 이할 수 ." , "1단계" 및 "2단계"를 참조하십시오.

do.R: func에 정의된 함수를 호출합니다.R: 분석을 수행하고 차트와 표를 만듭니다.

이 설정의 주요 동기는 다음 단계로 변경할 때마다 데이터를 다시 로드하지 않아도 되는 대용량 데이터 작업입니다.또한 코드를 이렇게 구분하여 보관하면 오랫동안 잊고 있던 프로젝트로 돌아가서 로드를 빠르게 읽을 수 있습니다.어떤 데이터를 업데이트해야 하는지 확인한 다음 수행할 작업을 확인합니다.R은 어떤 분석을 수행했는지 확인합니다.

몇 가지 예를 보려면 온라인에서 사용할 수 있는 소규모(소규모는 아니지만) 데이터 정리 및 분석 프로젝트가 몇 가지 있습니다.대부분의 경우 데이터를 다운로드하는 스크립트, 데이터를 정리하는 스크립트, 탐색 및 분석을 수행하는 스크립트를 찾을 수 있습니다.

를 어떤로 실행해야 (스크립트를 (만약 제가 정말로 마음에 든다면 가끔 탐색 스크립트가 클리닝 스크립트를 호출하고 다운로드 스크립트를 호출하도록 하겠습니다.필요한 최소한의 작업을 수행하는 각 작업 - 일반적으로 출력 파일의 존재를 확인함으로써file.exists그러나 대부분의 경우 이것은 과잉 살상으로 보입니다.)

모든 프로젝트(소스 코드 관리 시스템)에 Git를 사용하므로 다른 사람과 쉽게 협업하고, 무엇이 변경되고 있는지 확인하고, 이전 버전으로 쉽게 롤백할 수 있습니다.

, R과 라텍스를 분리해서 하지만, 저는 가 할 수 있는 것을 확실히 합니다.source보고서에 필요한 모든 코드와 출력을 생성하기 위한 나의 R 코드.제가 하는 보고서들은 라텍스로 작업하는 것보다 더 쉽고 깨끗합니다.

저는 다른 응답자들의 의견에 동의합니다. Sweave는 R과 함께 보고서를 작성하기에 매우 좋습니다.또한 업데이트된 결과를 사용하여 보고서를 다시 작성하는 것은 Sweave 기능을 다시 호출하는 것만큼 간단합니다.모든 분석, 데이터 등을 포함하여 완전히 자체적으로 포함됩니다.전체 파일을 버전으로 제어할 수 있습니다.

통계를 사용보고서 개발을 위한 Eclipse용 ET 플러그인, Sweave가 통합되어 있습니다(Eclipse는 라텍스 형성 등을 인식합니다).윈도우에서는 MikTEX를 쉽게 사용할 수 있습니다.

저는 또한 당신이 Beamer와 함께 아름다운 보고서를 만들있다는 것을 덧붙이고 싶습니다.일반 보고서를 만드는 것도 간단합니다.아래에 Yahoo!에서 데이터를 가져와서 차트와 테이블을 만드는 예제를 포함했습니다(quantmod 사용).이 보고서는 다음과 같이 작성할 수 있습니다.

Sweave(file = "test.Rnw")

비머 문서 자체는 다음과 같습니다.

% 
\documentclass[compress]{beamer}
\usepackage{Sweave}
\usetheme{PaloAlto} 
\begin{document}

\title{test report}
\author{john doe}
\date{September 3, 2009} 

\maketitle

\begin{frame}[fragile]\frametitle{Page 1: chart}

<<echo=FALSE,fig=TRUE,height=4, width=7>>=
library(quantmod)
getSymbols("PFE", from="2009-06-01")
chartSeries(PFE)
@

\end{frame}


\begin{frame}[fragile]\frametitle{Page 2: table}

<<echo=FALSE,results=tex>>=
library(xtable)
xtable(PFE[1:10,1:4], caption = "PFE")
@

\end{frame}

\end{document}

저는 누군가 그것을 놓쳤을 때를 대비해서, 학습자 블로그에 제프리 호너의 양조 패키지반복적인 보고서를 만드는 것에 대한 훌륭한 게시물이 있다는 것을 덧붙이고 싶었습니다.Matt와 Kevin 모두 위에서 양조를 언급했습니다.저는 실제로 그것을 많이 사용하지 않았습니다.

항목은 훌륭한 워크플로우를 따르므로 다음과 같이 읽을 가치가 있습니다.

  1. 데이터를 준비합니다.
  2. 보고서 템플릿을 준비합니다.
  3. 보고서를 작성합니다.

실제로 처음 두 단계가 완료되면 보고서를 생성하는 것은 매우 간단합니다.

library(tools)
library(brew)
brew("population.brew", "population.tex")
texi2dvi("population.tex", pdf = TRUE)

사용자 정의 보고서를 작성할 때, 여기서 제안하는 기존의 많은 팁을 통합하는 것이 유용하다는 것을 알게 되었습니다.

보고서 생성: 보고서 생성을 위한 좋은 전략에는 Sweave, make 및 R의 조합이 포함됩니다.

편집자: Sweave 문서를 준비하는 데 좋은 편집자는 다음과 같습니다.

  • StatET 및 이클립스
  • Emacs 및 ESS
  • 빔과 빔-R
  • R 스튜디오

코드 구성:코드 구성 측면에서, 저는 두 가지 전략이 유용하다고 생각합니다.

저는 이것의 보고서 작성 측면에서 Sweave를 사용하지만, 아직 조사하지는 않았지만 양조 패키지에 대해서도 들었습니다.

기본적으로, 저는 요약 통계를 작성하는 여러 설문 조사를 가지고 있습니다.매번 같은 설문조사, 보고서가 똑같습니다.저는 보고서를 위해 Sweave 템플릿을 구축했습니다(이것은 약간의 작업이 필요합니다).하지만 작업이 끝나면 새로운 데이터를 지적할 수 있는 R 스크립트가 따로 있습니다.저는 "Go"를 누르고 Sweave가 몇 개의 score.tex 파일을 덤프하고 작은 Python 스크립트를 실행하여 모든 파일을 pdflatex합니다.전임자는 매년 이 보고서를 작성하는 데 약 6주를 소비했습니다. 저는 약 3일(대부분 데이터 정리에 사용되며 탈출 문자는 위험함).

지금은 더 나은 접근법이 있을 가능성이 매우 높지만, 만약 당신이 이 길을 가기로 결정한다면, 저에게 알려주세요 - 저는 제 스웨브 해킹을 몇 개 설치하려고 했는데, 그렇게 하는 것이 좋은 일이 될 것입니다.

는 당신이 도구가 아닌 프로젝트 워크플로우에 대해 구체적으로 물었다는 사실에 근거하여 다른 제출자들과는 다른 방향으로 무언가를 제안하려고 합니다.문서 제작 모델에 대한 만족도가 상대적으로 높다고 가정할 때, 문제는 버전 추적, 자산 관리 및 검토/게시 프로세스 문제에 더 집중될 수 있습니다.

만약 그것이 정확하게 들린다면, 는 Redmine과 같은 통합 티켓팅/소스 관리/문서화 도구를 검토하는 것을 제안합니다.보류 중인 작업, 토론 스레드 및 버전 데이터/코드 파일과 같은 관련 프로젝트 아티팩트를 함께 보관하는 것은 기존의 "프로그래밍" 바이윅을 훨씬 벗어난 프로젝트에서도 큰 도움이 될 수 있습니다.

LaTeX 테이블을 생성하기 위한 xtable을 갖춘 Sweave가 최선의 방법이라는 데 동의했습니다.비록 제가 그들과 작업하는 데 너무 많은 시간을 투자하지는 않았지만, 최근 출시된 tikzDevice 패키지는 특히 pgfSweave와 결합될 때 매우 유망해 보입니다. (제가 알기로는 현재 rforge.net 에서만 사용할 수 있습니다. - 거기서 r-delay 링크가 있지만 현재는 응답이 없습니다.)

텍스트와 그림(글꼴 등) 사이에서 일관된 형식을 사용할 수 있습니다.양조를 사용하면 보고서 생성의 성배를 구성할 수 있습니다.

좀 더 "메타" 수준에서 CRISP-DM 프로세스 모델에 관심이 있을 수 있습니다.

"make"는 (1) 모든 언어(예: Sweave 및 Brew와 달리)로 모든 작업에 사용할 수 있기 때문에 훌륭합니다. (2) 매우 강력합니다(기계에 모든 소프트웨어를 구축할 수 있을 정도로). (3) 반복 작업을 피할 수 있습니다.마지막으로 중요한 점은 많은 작업이 느리기 때문입니다. 파일을 라텍스할 때 수치를 재현하는 데 걸리는 시간이 아니라 몇 초 안에 결과를 보는 것입니다.

저는 R 스튜디오와 함께 프로젝트 템플릿을 사용하고 있으며, 현재 제 것에는 다음과 같은 폴더가 포함되어 있습니다.

  • infodocs...pdfs, 파포트인, 문서...어떤 스크립트에서도 사용되지 않을 것입니다.
  • data input되지만 myscript에서되지 않는 는 다음과 같습니다.
  • data output내 스크립트에서 생성한 데이터를 추가로 사용할 수 있지만 적절한 보고서로 사용할 수는 없습니다.
  • reports.
  • R R 는 R입니다.
  • SAS 저는 으)로 입니다.

전화할 수 있도록 사용자 지정 기능을 작성했습니다.smart_save(x,y)또는smart_load(x)하거나 RDS files왕는하까지 data output된 파일)를에 변폴더(인수이로이지파일된정않다습니쓰이)에 신경 쓰지 paths내가 분석한 바로는

정의 함수는 다음과 .new_project번호가 매겨진 프로젝트 폴더를 만들고, 템플릿에서 모든 파일을 복사하고, 이름을 변경합니다.RProj하여 합니다.setwd호출하고 작업 디렉토리를 새 프로젝트로 설정합니다.

든모.R스크립트는 다음에 있습니다.R됩니다.


00_main.R
  • setwd
  • 스크립트 1~5를 호출

00_functions.R
  • 모든 기능과 기능만 거기로 갑니다. 너무 많으면 여러 개로 나눌 것입니다. 모두 다음과 같은 이름입니다.00_functions_something.R 만약 중 저는 입니다. ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅠ

00_explore.R
  • 내가 무언가를 테스트하거나 내 데이터를 탐색하는 스크립트 덩어리.
  • 제가 지저분하게 할 수 있는 유일한 파일입니다.

01_initialize.R
  • ▁to▁call▁ailled▁a짐▁with▁pref채에 대한 호출로 미리 채워짐initialize_general.R 하는 내 작업 공간에 사용할 수
  • 들짐00_functions.R (비충실) (비충실)
  • 추가 라이브러리 로드
  • 전역 변수 설정

02_load data.R
  • 들짐csv/txt xlsx RDS에 대해
  • 작업영역에 생성된 파일을 표시합니다.

03_pull data from DB.R
  • 사용하다dbplyr 및 .
  • 연결을 설정하고 가져올 일부 미리 채워진 주석 행입니다.
  • 클라이언트 측 작업을 최소화합니다.
  • 이 스크립트 이외의 서버 측 작업은 없습니다.
  • 작업영역에 생성된 파일을 표시합니다.
  • 이러한 변수를 저장하여 더 빠르게 다시 로드할 수 있습니다.

이 작업이 완료되면 전원을 끄면 됩니다.query_db boolean에서 됩니다.RDS다음에.

DB에 데이터를 참조해야 하는 경우가 있을 수 있습니다. 그렇다면 추가 단계를 작성하겠습니다.


04_Build.R
  • 것들 이터논쟁재미,든모데미.dplyr/tidyr이 에 갑니다.
  • 작업영역에 생성된 파일을 표시합니다.
  • 이 변수들을 저장합니다.

이 작업이 완료되면 전원을 끄면 됩니다.build boolean에서 됩니다.RDS다음에.


05_Analyse.R
  • 요약, 모형...
  • excel그리고.csv 파일

95_build ppt.R
  • 를 사용한 officer

96_prepare markdown.R
  • setwd
  • 데이터 로드
  • 필요한 경우 마크다운 매개 변수 설정
  • render

97_prepare shiny.R
  • setwd
  • 데이터 로드
  • 필요한 경우 빛나는 매개 변수 설정
  • runApp

98_Markdown report.Rmd
  • 보고서 템플릿

99_Shiny report.Rmd
  • 앱 템플릿

간단한 예비 보고서나 이메일을 동료에게 쓰는 경우 MS Word나 이메일 또는 Wiki 페이지에 플롯을 복사하여 붙여넣는 것이 매우 효율적일 수 있다는 것을 알게 되었습니다. 종종 비트맵 스크린샷(예: Mac, Apple-Shift-(Ctrl)-4)이 가장 좋습니다.저는 이것이 과소평가된 기술이라고 생각합니다.

보다 최종적인 보고서의 경우 모든 플롯을 파일로 쉽게 재생성할 수 있도록 R 함수를 작성하는 것이 매우 중요합니다.이것을 코드화하는 데 더 많은 시간이 걸립니다.

더 큰 워크플로우 문제에 대해서는 청소 및 분석 흐름을 위한 코드/데이터 파일을 열거하는 해들리의 답변이 마음에 듭니다.저의 모든 데이터 분석 프로젝트는 비슷한 구조를 가지고 있습니다.

제 목소리를 더해서 한번 해볼게요.복잡한 다단계 분석의 경우 makefile을 사용하여 여러 부품을 지정할 수 있습니다.한 부품만 변경된 경우 전체 분석을 반복하지 않아도 됩니다.

저는 또한 조쉬 라이히가 하는 일을 합니다. 저는 개인 R 패키지를 만드는 것만 합니다. 제 코드와 데이터를 구성하는 데 도움이 되기 때문입니다. 그리고 그것들을 다른 사람들과 공유하는 것도 매우 쉽습니다.

  1. 내 패키지 만들기
  2. 짐을 싣다
  3. 깨끗한
  4. 기능들
  5. 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다

패키지 생성:devtools::create("package_name")

로드 및 청소:devtools:use_data(object_name)를 사용하여 패키지에 결과 데이터 개체를 로드, 치료 및 저장하기 위해 패키지의 data-raw/subfolder에 스크립트를 생성합니다.그런 다음 패키지를 컴파일합니다.이제부터 라이브러리(package_name)를 호출하면 이러한 데이터를 사용할 수 있으며 필요할 때까지 로드되지 않습니다.

함수:분석 기능을 패키지의 R/ 하위 폴더에 넣고 외부에서 호출해야 하는 기능만 내보냅니다(표시되지 않을 수 있는 도우미 기능은 내보내지 않습니다).

do: 패키지에 저장된 데이터와 기능을 사용하는 스크립트를 만듭니다.(분석을 한 번만 수행하면 되는 경우 이 스크립트를 data-raw/sub폴더에 넣고 실행한 후 결과를 패키지에 저장하여 쉽게 액세스할 수 있습니다.)

언급URL : https://stackoverflow.com/questions/1429907/workflow-for-statistical-analysis-and-report-writing

반응형