পরিসংখ্যান বিশ্লেষণ এবং প্রতিবেদন লেখার জন্য কর্মপ্রবাহ


185

কাস্টম রিপোর্ট লেখার সাথে সম্পর্কিত ডেটা বিশ্লেষণের জন্য কারও কাছে কি ওয়ার্কফ্লোতে কোনও জ্ঞান আছে? ব্যবহারের ক্ষেত্রে এটি মূলত:

  1. ক্লায়েন্ট একটি রিপোর্ট কমিশন করে যা ডেটা বিশ্লেষণ ব্যবহার করে, উদাহরণস্বরূপ একটি জলের জেলার জন্য জনসংখ্যার অনুমান এবং সম্পর্কিত মানচিত্র।

  2. বিশ্লেষক কিছু ডেটা ডাউনলোড করে, ডেটাটি munges এবং ফলাফল সংরক্ষণ করে (যেমন ইউনিট প্রতি জনসংখ্যার জন্য একটি কলাম যুক্ত করা, বা জেলা সীমানা উপর ভিত্তি করে ডেটা subsetting)।

  3. বিশ্লেষক (2) এ তৈরি করা ডেটা বিশ্লেষণ করে, তার লক্ষ্যের নিকটবর্তী হয়, তবে এটি দেখতে আরও তথ্যের প্রয়োজন হয় এবং তাই ফিরে যায় (1)।

  4. সারণী এবং গ্রাফিক্স QA / QC এর সাথে মিলিত না হওয়া এবং ক্লায়েন্টকে সন্তুষ্ট না করা পর্যন্ত পুনরায় ধুয়ে ফেলুন।

  5. সারণী এবং গ্রাফিক্স সমন্বিত প্রতিবেদন লিখুন।

  6. পরের বছর, সুখী ক্লায়েন্ট ফিরে আসুন এবং একটি আপডেট চান। এটি নতুন ডাউনলোডের মাধ্যমে প্রবাহের ডেটা আপডেট করার মতোই সহজ হওয়া উচিত (উদাহরণস্বরূপ, গত বছর থেকে বিল্ডিং পারমিট পান) এবং স্পেসিফিকেশন পরিবর্তন না হওয়া পর্যন্ত একটি "নিয়মিত" বোতাম টিপুন।

এই মুহুর্তে, আমি কেবল একটি ডিরেক্টরি শুরু করি এবং এটি আমার পক্ষে সেরা ad আমি আরও নিয়মতান্ত্রিক পদ্ধতির চাই, তাই আমি আশা করছি যে কেউ এটি আবিষ্কার করেছে ... আমি স্প্রেডশিট, এসকিউএল, আরসিজিআইএস, আর এবং ইউনিক্স সরঞ্জামগুলির মিশ্রণ ব্যবহার করি use

ধন্যবাদ!

পুনশ্চ:

নীচে একটি বেসিক Makefile যা বিভিন্ন মধ্যবর্তী ডেটাসেট (ডাব্লু / .RDataপ্রত্যয়) এবং স্ক্রিপ্ট ( .Rপ্রত্যয়) উপর নির্ভরতা পরীক্ষা করে । নির্ভরতা যাচাই করার জন্য টাইমস্ট্যাম্পগুলি তৈরি করুন, সুতরাং আপনি যদি touch ss07por.csvএটি দেখতে পান তবে এটি নির্ভর করবে যে এই ফাইলটি নির্ভর করে এমন সমস্ত ফাইল / লক্ষ্যমাত্রার চেয়ে নতুন, এবং সেই অনুযায়ী আপডেট করার জন্য প্রদত্ত স্ক্রিপ্টগুলি কার্যকর করে। এটি এখনও একটি কাজ চলছে, এসকিউএল ডাটাবেস স্থাপনের জন্য একটি পদক্ষেপ এবং সোয়েভের মতো টেম্প্লেটিং ভাষার জন্য একটি পদক্ষেপ including নোট করুন যে মেকটি তার সিনট্যাক্সের ট্যাবগুলির উপর নির্ভর করে, তাই কাটা এবং আটকানোর আগে ম্যানুয়ালটি পড়ুন। উপভোগ করুন এবং প্রতিক্রিয়া দিন!

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

আর = / হোম / wsprague / আর-2.9.2 / বিন / r

persondata.RData: ImportData.R ../../DATA/ss07por.csv Funferences.R
   - আর - স্ল্যাভ -f ImportData.R

পারসোনডা.মুনজড.আরডাতা: মুঙ্গেডাটা.আর পারসোনডা.আরডিটা ফাংশনস.আর
      - আর - স্লেভ -ফ মুঙ্গেডাটা.আর

রিপোর্ট.টেক্সট: ট্যাবুলেটআন্ডগ্রাফ.আর পারসোনডাটা.মুনজড.আরডিটা ফাংশনস.আর
      - আর - স্ল্যাভ -ফ ট্যাবুলেটআ্যান্ডগ্রাফ.আর> রিপোর্ট.টিএসটিএক্স


10
আহারে. যারা এখানে প্রবেশ করেন, সাবধান হন : এই প্রশ্নের উত্তর পাঁচ বছর আগে দুর্দান্ত ছিল। তারা এখন সব সম্পূর্ণরূপে পুরানো। আজকাল, আমি এখানে যে কোনও উত্তর অনুসরণ করার বিরুদ্ধে দৃ strongly়ভাবে পরামর্শ দেব। এখন আরও অনেক ভাল সরঞ্জাম উপলব্ধ। শুরু হিসাবে, আমি মেকফিলস এবং নিটার ব্যবহার করে একটি উদাহরণ প্রকল্পটি উল্লেখ করব ।
কনরাড রুডল্ফ

আর নোটবুক , ওডিবিসি ড্রাইভার , গিট এবং গিট এলএফএস সমস্ত সমস্যার জন্য স্বর্গ পাঠানো হয়েছে।
ডেভআরজিপি

আমি এখানে বর্ণিত নীতিমালা অনুসারে প্রকল্পটি স্থাপনের দৃ recommend়তার সাথে সুপারিশ করব ( github.com/ropensci/rrrpkg )। পুনরুত্পাদনযোগ্য তথ্য বিজ্ঞান করার সময় তথাকথিত "গবেষণা সংঘবদ্ধতা" গডসেন্ড হয়
ক্রেস্টেন

উত্তর:


195

আমি সাধারণত আমার প্রকল্পগুলি 4 টি টুকরো টুকরো করি:

  1. load.R
  2. clean.R
  3. func.R
  4. do.R

load.R: প্রয়োজনীয় সমস্ত ডেটা লোড করার যত্ন নেয়। সাধারণত এটি একটি সংক্ষিপ্ত ফাইল, ফাইল, ইউআরএল এবং / অথবা ওডিবিসি থেকে ডেটা পড়া। এই মুহুর্তে প্রকল্পের উপর নির্ভর করে আমি হয় কর্মক্ষেত্রটি ব্যবহার করে লিখব save()বা কেবল পরবর্তী পদক্ষেপের জন্য জিনিসগুলিকে স্মৃতিতে রাখব।

ক্লিন.আর: এখানেই সমস্ত কুরুচিপূর্ণ স্টাফ বাস করে - হারিয়ে যাওয়া মূল্যবোধের যত্ন নেওয়া, ডেটা ফ্রেমগুলি মার্জ করা, বিদেশীদের পরিচালনা করা।

ফানক.আর: প্রকৃত বিশ্লেষণ সম্পাদনের জন্য প্রয়োজনীয় সমস্ত কার্যাদি রয়েছে। source()'এই ফাইলটি আইং ফাংশন সংজ্ঞা লোড করা ছাড়া অন্য কোনও পার্শ্ব প্রতিক্রিয়া থাকা উচিত। এর অর্থ হল যে আপনি এই ফাইলটি সংশোধন করতে পারবেন এবং পুনরাবৃত্তি না করে পুনরায় লোড করতে পারেন 1 & 2 যা বড় ডেটা সেটগুলির জন্য দৌড়াতে দীর্ঘ সময় নিতে পারে।

do.R: বিশ্লেষণ সম্পাদন করতে এবং চার্ট এবং সারণী তৈরি করতে ফানক.আর সংজ্ঞায়িত ফাংশনগুলিকে কল করে।

এই সেট আপের মূল অনুপ্রেরণা হ'ল বড় ডেটা নিয়ে কাজ করা যার মাধ্যমে আপনি যখনই পরবর্তী পদক্ষেপে প্রতিবার পরিবর্তন করেন তখন আপনাকে ডেটা পুনরায় লোড করতে না চান। এছাড়াও, আমার কোডটিকে এভাবে ভাগ করে নেওয়ার অর্থ আমি একটি দীর্ঘ ভুলে যাওয়া প্রকল্পে ফিরে আসতে পারি এবং দ্রুত লোড.আর পড়তে পারি এবং আমার কী ডেটা আপডেট করতে হবে তা নিয়ে কাজ করতে পারি এবং তারপরে কোন বিশ্লেষণটি সম্পাদিত হয়েছিল তা কার্যকর করার জন্য do.R এ দেখুন।


12
এটি সত্যিই একটি ভাল কর্মপ্রবাহ। আমি একটি ওয়ার্কফ্লো ডিজাইনের সাথে লড়াই করেছি এবং যখন আমি আমার চারপাশের লোকদের জিজ্ঞাসা করি তারা সাধারণত প্রতিক্রিয়া জানায়, "কি? কর্মপ্রবাহ? হু?" সুতরাং আমি এটি গ্রহণ করি তারা এগুলি সম্পর্কে খুব বেশি ভাবেন না। আমি রিচিয়ান এলসিএফডি মডেলটি গ্রহণ করব।
জেডি লং

1
এটি আমার কর্মপ্রবাহের বেশ কাছাকাছি, আমার প্রায়শই একটি আমদানি স্ক্রিপ্ট, বিশ্লেষণ স্ক্রিপ্ট এবং প্রতিবেদন স্ক্রিপ্ট থাকে
kpierce8

4
এলসিএফডি: সর্বনিম্ন সাধারণভাবে ফাউলড ডেটা
উইলিয়াম


2
@ সিমোন এটি এখানে: ফাইল.মিটআপ.com
ডেভিড লেবাউয়ার

94

আপনি যদি কিছু উদাহরণ দেখতে চান তবে আমার কাছে অনলাইনে উপলব্ধ কয়েকটি পরিষ্কার (এবং এত ছোট নয়) ডেটা পরিষ্কার এবং বিশ্লেষণ প্রকল্প রয়েছে। বেশিরভাগ ক্ষেত্রে, আপনি ডেটা ডাউনলোড করার জন্য একটি স্ক্রিপ্ট পাবেন, এটি পরিষ্কার করতে একটি এবং অনুসন্ধান এবং বিশ্লেষণ করার জন্য কয়েকটি:

সম্প্রতি আমি স্ক্রিপ্টগুলি নম্বর দেওয়া শুরু করেছি, সুতরাং এগুলি চালিত হওয়া উচিত তা সম্পূর্ণ স্পষ্ট। (যদি আমি সত্যিই অভিনব অনুভূতি বোধ করি তবে আমি কখনও কখনও এটি তৈরি করব যাতে এক্সপ্লোরেশন স্ক্রিপ্টটি ক্লিনিং কল করবে যা পরিবর্তিত ডাউনলোড স্ক্রিপ্টকে কল করে, প্রতিটি ন্যূনতম কাজ করে - সাধারণত আউটপুট ফাইলের উপস্থিতি যাচাই করে file.exists। তবে বেশিরভাগ সময় এটি ওভারকিলের মতো মনে হয়)।

আমি আমার সমস্ত প্রকল্পের জন্য গিট ব্যবহার করি (উত্স কোড পরিচালনা ব্যবস্থা) যাতে অন্যের সাথে সহযোগিতা করা সহজ হয়, কী পরিবর্তন হয় তা দেখুন এবং সহজেই পূর্ববর্তী সংস্করণগুলিতে ফিরে যেতে পারেন।

আমি যদি কোনও আনুষ্ঠানিক প্রতিবেদন করি তবে আমি সাধারণত আর এবং লেটেক্স পৃথক রাখি, তবে আমি সর্বদা নিশ্চিত করে রাখি যে আমি sourceআমার আর কোডটি রিপোর্টের জন্য প্রয়োজনীয় সমস্ত কোড এবং আউটপুট তৈরি করতে পারি। আমি যে ধরণের প্রতিবেদন করি তার জন্য আমি ল্যাটেক্সের সাথে কাজ করার চেয়ে এটিকে আরও সহজ এবং পরিষ্কার পরিস্কার মনে করি।


আমি উপরের মেকফিলগুলি সম্পর্কে মন্তব্য করেছি, তবে আপনি সেগুলি দেখতে চাইতে পারেন - এটি হ'ল theতিহ্যগত নির্ভরতা যাচাইয়ের ভাষা। এছাড়াও - আমি ggplot2 শেখার চেষ্টা করতে যাচ্ছি - দুর্দান্ত দেখাচ্ছে!
ফোরকান্ডওয়েট

আমি ফাইলগুলির মধ্যে নির্ভরতা নির্দিষ্ট করার উপায় রাখার ধারণাটি পছন্দ করি তবে এম 4 শিখতে হবে একটি বড় অফ off আমি আশা করি মত আর লেখা raken কিছু ছিল
হ্যাডলি

2
নির্ভরতার জন্য, আপনি এটি আর ফাইলগুলির মধ্যেও করতে পারেন। পরিবর্তে করছেন source("blah.R"), চেক প্রয়োজনে ভেরিয়েবলের (গুলি) প্রথম অস্তিত্ব: if (!exists("foo")) { source("blah.R") }। এটি ইতিমধ্যে চালানো থাকলে পুনরায় চলমান নির্ভরতা এড়িয়ে চলে।
nnot101

17

আমি অন্যান্য প্রতিক্রিয়াকারীদের সাথে একমত: আরভির সাথে রিপোর্ট লেখার জন্য সোয়েভ দুর্দান্ত And এবং আপডেটের ফলাফল সহ প্রতিবেদনটি পুনর্নির্মাণ সোয়েভ ফাংশনটিকে পুনরায় কল করার মতোই সহজ। এটি সমস্ত বিশ্লেষণ, ডেটা ইত্যাদিসহ সম্পূর্ণ স্ব-অন্তর্ভুক্ত এবং আপনি পুরো ফাইলটি সংস্করণে রাখতে পারেন।

আমি রিপোর্টগুলি বিকাশের জন্য Eclipse এর জন্য স্ট্যাটেট প্লাগইন ব্যবহার করি, এবং সোয়েভ সংহত হয় (এক্লিপস লেটেক্স বিন্যাস ইত্যাদি স্বীকৃতি দেয়)। উইন্ডোজে, মিকটেক্স ব্যবহার করা সহজ

আমি আরও যোগ করব, আপনি বিমারের সাথে সুন্দর প্রতিবেদন তৈরি করতে পারেন । একটি সাধারণ প্রতিবেদন তৈরি করা ঠিক তত সহজ। আমি নীচে একটি উদাহরণ অন্তর্ভুক্ত করেছি যা ইয়াহু থেকে ডেটা টানছে! এবং একটি চার্ট এবং একটি টেবিল তৈরি করে (কোয়ান্টমোড ব্যবহার করে)। আপনি এই প্রতিবেদনটি এভাবে তৈরি করতে পারেন:

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}

6
বিশ্বাস করবেন না যে আপনি একটি পরিষ্কার মেশিনে পরীক্ষা না করা পর্যন্ত একটি সোয়েভ রিপোর্ট পুনরুত্পাদনযোগ্য। অন্তর্নিহিত বাহ্যিক নির্ভরতা থাকা সহজ।
জন ডি কুক

16

আমি কেবল যুক্ত করতে চেয়েছিলাম, যদি কেউ এটি মিস করে তবে জেফ্রি হর্নারের ব্রিউ প্যাকেজটির সাথে পুনরাবৃত্তি সংক্রান্ত প্রতিবেদন তৈরির বিষয়ে শিখার ব্লগে একটি দুর্দান্ত পোস্ট রয়েছে । ম্যাট এবং কেভিন উভয় উপরে উপস্থাপিত উল্লিখিত। আমি আসলে এটি খুব বেশি ব্যবহার করি নি।

এন্ট্রিগুলি একটি দুর্দান্ত কর্মপ্রবাহ অনুসরণ করে, তাই এটি পড়ার পক্ষে ভাল:

  1. ডেটা প্রস্তুত করুন।
  2. রিপোর্ট টেমপ্লেট প্রস্তুত করুন।
  3. রিপোর্ট তৈরি করুন।

প্রথম দুটি পদক্ষেপ সম্পূর্ণ হওয়ার পরে প্রতিবেদনটি তৈরি করা খুব সহজ:

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

একটি ছোট ব্যাকরণগত ত্রুটি সংশোধন করার সময় আমি ওয়ার্ডপ্রেস ডট কমকে সম্বোধন করেছিলাম। তাই সঠিক লিঙ্ক learnr.wordpress.com/2009/09/09/...
learnr

14

কাস্টম প্রতিবেদন তৈরির জন্য, আমি এখানে প্রস্তাবিত বিদ্যমান অনেক টিপস অন্তর্ভুক্ত করা দরকারী বলে মনে করেছি।

প্রতিবেদন তৈরি করা: রিপোর্ট উত্পন্ন করার জন্য একটি ভাল কৌশল সোয়েভ, মেক এবং আর এর সংমিশ্রণকে জড়িত invol

সম্পাদক: সোয়েভ ডকুমেন্টগুলি প্রস্তুত করার জন্য ভাল সম্পাদকগুলির মধ্যে রয়েছে:

  • পরিসংখ্যান এবং গ্রহণ
  • ইমাকস এবং ইএসএস
  • ভিম এবং ভিম-আর
  • স্টুডিও

কোড সংগঠন: কোড সংস্থার ক্ষেত্রে, আমি দুটি কৌশল দরকারী বলে মনে করি:


7

আমি এর রিপোর্ট তৈরির দিকের জন্য সোয়েভ ব্যবহার করি , তবে আমি বারু প্যাকেজ সম্পর্কেও শুনে আসছি - যদিও আমি এখনও এটি খতিয়ে দেখিনি।

মূলত, আমার বেশ কয়েকটি জরিপ রয়েছে যার জন্য আমি সংক্ষিপ্ত পরিসংখ্যান তৈরি করি। একই সমীক্ষা, প্রতিবার একই রিপোর্ট। আমি রিপোর্টগুলির জন্য একটি সোয়েভ টেম্পলেট তৈরি করেছি (এতে কিছুটা সময় লাগে)। কাজটি শেষ হয়ে গেলে, আমার কাছে একটি পৃথক আর স্ক্রিপ্ট রয়েছে যা আমাকে নতুন ডেটা নির্দেশ করতে দেয়। আমি "গো" টিপুন, সোয়েভ কয়েক স্কোর .tex ফাইল ডাম্প করে ফেলেছি এবং সেগুলি পিডিএফ্লেটেক্স করার জন্য আমি একটি অল্প পাইথন স্ক্রিপ্ট চালিয়েছি। আমার পূর্বসূর প্রতি বছর এই প্রতিবেদনে weeks 6 সপ্তাহ ব্যয় করে; আমি প্রায় 3 দিন ব্যয় করি (বেশিরভাগ ডেটা পরিষ্কার করার ক্ষেত্রে; পালানোর চরিত্রগুলি বিপজ্জনক)।

এটি এখন খুব ভাল পদ্ধতি হতে পারে এটি খুব সম্ভব, তবে আপনি যদি এই পথে যাওয়ার সিদ্ধান্ত নেন, তবে আমাকে জানান - আমি আমার কিছু সোয়েভ হ্যাক রাখার অর্থ করছি, এবং এটি প্যান্টগুলিতে ভাল কিক হবে তাই।


এই "সুইভ হ্যাকস" এর কিছু দেখতে পছন্দ করবেন। এটা আমার মাথাব্যথা দিচ্ছে!
ব্র্যান্ডন বার্টেলসেন

7

সরঞ্জামগুলির পরিবর্তে আপনি প্রকল্পের কার্যপ্রবাহ সম্পর্কে বিশেষভাবে জিজ্ঞাসা করেছেন এমন তথ্যের ভিত্তিতে আমি অন্যান্য সাবমিটারদের থেকে ভিন্ন ধরণের দিকনির্দেশে কিছু প্রস্তাব দিতে যাচ্ছি । ধরে নিই যে আপনি আপনার দস্তাবেজ-উত্পাদন মডেলটির সাথে তুলনামূলকভাবে খুশি, মনে হচ্ছে আপনার চ্যালেঞ্জগুলি সংস্করণ ট্র্যাকিং, সম্পদ ব্যবস্থাপনা এবং পর্যালোচনা / প্রকাশ প্রক্রিয়া সম্পর্কিত বিষয়গুলিতে আরও কেন্দ্রিক হতে পারে।

যদি এটি সঠিক মনে হয় তবে আমি রেডমিনের মতো সংহত টিকিট / উত্স পরিচালনা / ডকুমেন্টেশন সরঞ্জামটি সন্ধান করার পরামর্শ দেব । সম্পর্কিত প্রকল্প শৃঙ্খলা যেমন পেন্ডিং কাজ, আলোচনার থ্রেড এবং সংস্করণযুক্ত ডেটা / কোড ফাইলগুলি একসাথে রাখা প্রথাগত "প্রোগ্রামিং" বেইলিউইকের বাইরেও প্রকল্পগুলির জন্য দুর্দান্ত সাহায্য হতে পারে।


5

সম্মতি দিয়েছেন যে ল্যাটেক্স টেবিল তৈরির জন্য অষ্টেবল সহ সোয়েভই চলার উপায় way যদিও আমি তাদের সাথে কাজ করতে খুব বেশি সময় ব্যয় করি নি, সম্প্রতি প্রকাশিত টিকজডভাইস প্যাকেজটি সত্যিই আশাব্যঞ্জক বলে মনে হচ্ছে, বিশেষত যখন পিজিএসউইভের সাথে মিলিত হয়েছে (যা আমি যতদূর জানি কেবল এই মুহুর্তে কেবলমাত্র rforge.net এ উপলব্ধ - সেখানে একটি রয়েছে সেখান থেকে আর-ফোর্জে লিঙ্ক দিন, তবে এই মুহূর্তে এটি আমার প্রতিক্রিয়া জানায় না)।

দু'জনের মধ্যেই আপনি পাঠ্য এবং চিত্রসমূহ (ফন্ট ইত্যাদি) এর মধ্যে নিয়মিত বিন্যাস পাবেন। মিশ্রণ সহ, এগুলি প্রতিবেদন প্রজন্মের পবিত্র পাথর গঠন করতে পারে।


pgfSweave বর্তমানে "বিকাশ লিম্বো" তে রয়েছে কারণ বিকাশকারীদের নতুন টিকজডভাইস অন্তর্ভুক্ত করার সময় হয়নি। আপাতত আমরা সাধারণ সোয়েভ ডকুমেন্টগুলির মধ্যে থেকে টিক্জ ডিভাইসটি ব্যবহার করার পরামর্শ দিই - ব্যবহারকারীকে কেবল ডিভাইসটি খোলার / বন্ধ করার জন্য এবং ফলাফলটি আউটপুট সহ \ সহ responsibility। সহ দায়িত্ব নিতে হবে।
শার্পি

@ শার্পি: পিজিএসউইভের উন্নয়নের অবস্থার বিষয়ে কোনও আপডেট? এটি দুর্দান্ত দেখাচ্ছে, তবে আমি চেষ্টা করেছি এমন কোনও সিস্টেমে কাজ করছে বলে মনে হচ্ছে না।
এরি বি ফ্রিডম্যান

@ gsk3 অন্য বিকাশকারী pgfSweave আপডেট রাখতে খুব সক্রিয় ছিলেন এবং আমি মন্তব্যটি পোস্ট করার পর থেকে প্রচুর কাজ করেছি। বিকাশ ট্র্যাক করতে github.com/cameronbracken/pgfSweave এ যান। যদি প্যাকেজটি আপনার পক্ষে কাজ করে না, আমরা একটি বাগ রিপোর্ট পেতে পছন্দ করব যাতে আমরা এটি ঠিক করতে পারি।
শার্পি

@ শার্পি: দুর্দান্ত, ধন্যবাদ আমি আপনার বার্তাটি আমার বন্ধুর কাছে পাঠিয়েছি যিনি আমার চেয়ে বেশি কাজ করেছেন। তিনি যদি খুব শীঘ্রই কোনও বাগ রিপোর্ট ফাইল না করেন তবে আমি একটি সাথে পেয়ে যাব। এটি দুর্দান্ত প্যাকেজের মতো দেখাচ্ছে; কঠোর পরিশ্রমের জন্য ধন্যবাদ.
এরি বি ফ্রেডম্যান


4

"মেক" দুর্দান্ত কারণ (১) আপনি এটিকে যে কোনও ভাষায় আপনার সমস্ত কাজের জন্য ব্যবহার করতে পারেন (বিপরীতভাবে, বলুন, সোয়েভ এবং ব্রিউ), (২) এটি খুব শক্তিশালী (আপনার মেশিনে সমস্ত সফ্টওয়্যার তৈরির জন্য যথেষ্ট), এবং (3) এটি পুনরাবৃত্তি কাজ এড়ানো। এই শেষ পয়েন্টটি আমার কাছে গুরুত্বপূর্ণ কারণ অনেক কাজ ধীর; আমি যখন কোনও ফাইল ল্যাটেক্স করি, তখন ফলাফলটি কয়েক সেকেন্ডে দেখতে চাই, চিত্রগুলি পুনরায় তৈরি করতে সময় লাগবে না।


মেকিং জন্য +1; যাইহোক, আমি সোয়েভের সাথে মেকিংটিকে বেমানান দেখছি না। বরং আমি যখন প্রতিবেদন তৈরি করি তখন কল করুন সোয়েভ (এবং অন্যান্য জিনিস)।
জেরোমি অ্যাংলিম

3

আমি আর স্টুডিও সহ প্রকল্পের টেম্পলেটগুলি ব্যবহার করি, বর্তমানে আমার মধ্যে নিম্নলিখিত ফোল্ডারগুলি রয়েছে:

  • info : পিডিএফ, পাওয়ারপয়েন্টস, ডক্স ... যা কোনও স্ক্রিপ্ট দ্বারা ব্যবহৃত হবে না
  • data input : ডেটা যা আমার স্ক্রিপ্টগুলি ব্যবহার করবে তবে সেগুলি তৈরি করবে না
  • data output : আমার স্ক্রিপ্টগুলি আরও ব্যবহারের জন্য উত্পন্ন ডেটা তবে সঠিক প্রতিবেদন হিসাবে নয়।
  • reports : কেবলমাত্র সেই ফাইলগুলি যা অন্য কাউকে দেখানো হবে
  • 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, বিশেষত যদি আমি তাদের মধ্যে একটি প্যাকেজ তৈরির পরিকল্পনা করি তবে আমি সেগুলি পৃথক করে দেব I'll

00_explore.R
  • স্ক্রিপ্ট খণ্ডগুলির একটি গুচ্ছ যেখানে আমি জিনিসগুলি পরীক্ষা করছি বা আমার ডেটা অন্বেষণ করছি
  • এটিই একমাত্র ফাইল যেখানে আমাকে অগোছালো হওয়ার অনুমতি দেওয়া হয়েছে।

01_initialize.R
  • initialize_general.Rআমার টেম্পলেট ফোল্ডার থেকে আরও সাধারণ স্ক্রিপ্টে কল দিয়ে প্রিফিলড যা আমি সর্বদা প্যাকেজগুলি এবং ডেটা লোড করে এবং আমার কর্মক্ষেত্রে রাখলে আপত্তি নেই don't
  • ভার 00_functions.R(প্রিফিল্ড)
  • অতিরিক্ত গ্রন্থাগার লোড করে
  • গ্লোবাল ভেরিয়েবল সেট করুন

02_load data.R
  • লোড csv/txt xlsx RDS, প্রতিটি ধরণের ফাইলের জন্য একটি পূর্বনির্ধারিত মন্তব্য করা লাইন রয়েছে
  • ওয়ার্কস্পেসে কোন ফাইলগুলি হাভা তৈরি করা হয়েছে তা প্রদর্শন করে

03_pull data from DB.R
  • dbplyrডিবি থেকে ফিল্টারযুক্ত এবং গোষ্ঠীযুক্ত টেবিলগুলি আনতে ব্যবহার করে
  • সংযোগ স্থাপন এবং আনতে কিছু পূর্বনির্ধারিত মন্তব্য করেছেন লাইন।
  • ক্লায়েন্ট পাশ অপারেশন সর্বনিম্ন অবধি রাখুন
  • এই স্ক্রিপ্টের বাইরে কোনও সার্ভার সাইড অপারেশন নেই
  • ওয়ার্কস্পেসে কোন ফাইলগুলি তৈরি করা হয়েছে তা প্রদর্শন করে
  • এই ভেরিয়েবলগুলি সংরক্ষণ করে যাতে এগুলি আরও দ্রুত লোড করা যায়

একবার আমি একবার query_dbবুলিয়ান স্যুইচ অফ করে দিই এবং RDSপরবর্তী সময় থেকে ডেটা আবার লোড হবে ।

এটি ঘটতে পারে যে আমাকে ডিবিগুলিতে ডেটা রেফিড করতে হবে, যদি তাই হয় তবে আমি অতিরিক্ত পদক্ষেপ তৈরি করব।


04_Build.R
  • ডেটা র্যাংলিং, সমস্ত মজাদার জিনিস dplyr/ tidyrজিনিসগুলি সেখানে যায়
  • ওয়ার্কস্পেসে কোন ফাইলগুলি তৈরি করা হয়েছে তা প্রদর্শন করে
  • এই ভেরিয়েবলগুলি সংরক্ষণ করুন

একবার আমি একবার buildবুলিয়ান স্যুইচ অফ করে দিই এবং 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
  • একটি অ্যাপ্লিকেশন টেম্পলেট

2

কোনও সহকর্মীকে দ্রুত প্রারম্ভিক প্রতিবেদন বা ইমেল লেখার জন্য, আমি দেখতে পেয়েছি যে এমএস ওয়ার্ড বা ইমেল বা উইকি পৃষ্ঠায় প্লটগুলি অনুলিপি-পেস্ট করা খুব দক্ষ হতে পারে - প্রায়শই সেরা একটি বিটম্যাপড স্ক্রিনশট হয় (যেমন ম্যাক, অ্যাপল এ -Shift- করুন (Ctrl) -4)। আমি মনে করি এটি একটি আন্ডাররেটেড কৌশল।

আরও চূড়ান্ত প্রতিবেদনের জন্য, সমস্ত প্লট (ফাইল হিসাবে) সহজেই নতুনভাবে তৈরি করতে আর ফাংশনগুলি লেখা খুব গুরুত্বপূর্ণ। এটি কোড করতে আরও সময় লাগে না।

বৃহত্তর ওয়ার্কফ্লো ইস্যুতে, পরিষ্কার এবং বিশ্লেষণ প্রবাহের জন্য কোড / ডেটা ফাইলগুলি গণনা করার বিষয়ে আমি হ্যাডলির উত্তরটি পছন্দ করি। আমার সমস্ত ডেটা বিশ্লেষণ প্রকল্পগুলির একটি একই কাঠামো রয়েছে।


2

আমি সোয়েসে আমার ভয়েস যুক্ত করব। জটিল, বহু-পদক্ষেপ বিশ্লেষণের জন্য আপনি বিভিন্ন অংশ নির্দিষ্ট করতে একটি মেকফিল ব্যবহার করতে পারেন । শুধুমাত্র একটি অংশ পরিবর্তিত হলে পুরো বিশ্লেষণটি পুনরাবৃত্তি করা আটকাতে পারে।


0

আমি জোশ রেখ যা করে তাও করি, কেবলমাত্র আমি আমার ব্যক্তিগত আর-প্যাকেজ তৈরি করতে পারি, কারণ এটি আমার কোড এবং ডেটা গঠনে সহায়তা করে এবং অন্যদের সাথে ভাগ করে নেওয়াও খুব সহজ।

  1. আমার প্যাকেজ তৈরি করুন
  2. ভার
  3. পরিষ্কার
  4. ক্রিয়াকলাপ
  5. করা

আমার প্যাকেজ তৈরি করছে: devtools :: create ('package_name')

লোড এবং ক্লিন: আমি প্যাকেজটিতে ডেভলটুলস :: ব্যবহার_ডেটা (অবজেক্ট_নাম) ব্যবহার করে লোডিং, ক্লিয়ারিং এবং সংরক্ষণের জন্য আমার প্যাকেজের ডেটা-কাঁচা / সাবফোল্ডারটিতে স্ক্রিপ্ট তৈরি করি। তারপরে আমি প্যাকেজটি সংকলন করি। এখন থেকে, কলিং লাইব্রেরি (প্যাকেজ_নাম) এই ডেটাগুলি উপলভ্য করে (এবং এগুলি প্রয়োজনীয় না হওয়া পর্যন্ত লোড করা হয় না)।

ফাংশন: আমি আমার প্যাকেজের আর / সাবফোল্ডারটিতে আমার বিশ্লেষণগুলির জন্য ফাংশনগুলি রেখেছি এবং কেবলমাত্র বাইরে থেকে ডেকে আনা দরকারগুলি রফতানি করি (এবং সাহায্যকারী ফাংশন নয়, যা অদৃশ্য থাকতে পারে)।

কর: আমি একটি স্ক্রিপ্ট তৈরি করি যা আমার প্যাকেজে সঞ্চিত ডেটা এবং ফাংশন ব্যবহার করে। (যদি বিশ্লেষণগুলি কেবল একবার করা দরকার হয় তবে আমি এই স্ক্রিপ্টটি পাশাপাশি ডেটা-কাঁচা / সাবফোল্ডারটিতেও রাখতে পারি, এটি চালাতে পারি এবং সহজেই অ্যাক্সেসযোগ্য করতে প্যাকেজে ফলাফল সংরক্ষণ করতে পারি in)

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.