<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>جعبه‌ابزار &#8211; مدرسه پردازش و تحلیل داده دقیقه</title>
	<atom:link href="https://d-learn.ir/p/toolbox/feed/" rel="self" type="application/rss+xml" />
	<link>https://d-learn.ir</link>
	<description>یادگیری گام به گام علوم داده و تحلیل داده</description>
	<lastBuildDate>Tue, 16 Sep 2025 14:58:28 +0000</lastBuildDate>
	<language>fa-IR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://d-learn.ir/wp-content/uploads/2021/10/cropped-Picture1-e1633785514326-150x150.png</url>
	<title>جعبه‌ابزار &#8211; مدرسه پردازش و تحلیل داده دقیقه</title>
	<link>https://d-learn.ir</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>به‌روزرسانی بسته ggplot۲ +تغییرات ۴.۰</title>
		<link>https://d-learn.ir/ggplot2-4-update/</link>
					<comments>https://d-learn.ir/ggplot2-4-update/#respond</comments>
		
		<dc:creator><![CDATA[علیرضا چمن‌زار]]></dc:creator>
		<pubDate>Tue, 16 Sep 2025 13:10:30 +0000</pubDate>
				<category><![CDATA[جعبه‌ابزار]]></category>
		<category><![CDATA[ggplot example]]></category>
		<category><![CDATA[ggplot histogram]]></category>
		<category><![CDATA[ggplot style]]></category>
		<category><![CDATA[ggplot2]]></category>
		<category><![CDATA[ggplot2 package]]></category>
		<category><![CDATA[lq]]></category>
		<category><![CDATA[R]]></category>
		<category><![CDATA[Tidyverse]]></category>
		<category><![CDATA[به روزرسانی]]></category>
		<category><![CDATA[مصورسازی]]></category>
		<category><![CDATA[نمودار در R]]></category>
		<category><![CDATA[ویژه]]></category>
		<guid isPermaLink="false">https://d-learn.ir/?p=89279</guid>

					<description><![CDATA[<p>وبلاگ TidyVerse 1 خبر از انتشار نسخه جدید بسته ggplot2 داد و تغییرات زیاد این به‌روزرسانی، دلیلی شده تا شماره اصلی این بسته را نیز به روز کنند و به ورژن 4.0 رسید.  این بسته که بر اساس کتاب The Grammar of Graphics طراحی شده است به کاربران اجازه می‌دهد تا با تعریف اجزای اصلی [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://d-learn.ir/ggplot2-4-update/">به‌روزرسانی بسته ggplot۲ +تغییرات ۴.۰</a> appeared first on <a rel="nofollow" href="https://d-learn.ir">مدرسه پردازش و تحلیل داده دقیقه</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"></p>



<p class="sm-p wp-block-paragraph">وبلاگ TidyVerse <sup data-fn="be200d24-f1c7-449a-8b5a-dee54b75bfe5" class="fn"><a id="be200d24-f1c7-449a-8b5a-dee54b75bfe5-link" href="#be200d24-f1c7-449a-8b5a-dee54b75bfe5">1</a></sup> خبر از انتشار نسخه جدید بسته <a href="https://d-learn.ir/courses/ggplot2-intro/" data-type="link" data-id="https://d-learn.ir/courses/ggplot2-intro/">ggplot2</a> داد و تغییرات زیاد این به‌روزرسانی، دلیلی شده تا شماره اصلی این بسته را نیز به روز کنند و به ورژن 4.0 رسید.  این بسته که بر اساس کتاب The Grammar of Graphics طراحی شده است به کاربران اجازه می‌دهد تا با تعریف اجزای اصلی نمودار شامل داده‌ها، متغیرها، سیستم مختصات و عناصر گرافیکی، نمودارهای پیچیده را به صورت لایه‌ای و ماژولار بسازند. ggplot2 امکان ایجاد طیف گسترده‌ای از نمودارها &#8211; از نمودارهای پراکندگی ساده تا نقشه‌های چندلایه و نمودارهای آماری پیشرفته &#8211; را با حداقل کد و حداکثر انعطاف‌پذیری فراهم می‌کند. این بسته به دلیل قابلیت‌های سفارشی‌سازی بالا، پشتیبانی از تم‌های یکپارچه و سازگاری با اکوسیستم tidyverse، به ابزاری استاندارد در تحلیل داده‌ها و مصورسازی علمی تبدیل شده است.</p>



<p class="wp-block-paragraph">نسخه جدید را می‌توان از CRAN با دستور زیر نصب کرد:</p>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled" data-code-block-pro-font-family="Code-Pro-Hack" style="font-size:.875rem;font-family:Code-Pro-Hack,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#adbac7;display:none" aria-label=" کپی" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>install.packages("ggplot2")</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki github-dark-dimmed" style="background-color: #22272e" tabindex="0"><code><span class="line"><span style="color: #6CB6FF">install.packages</span><span style="color: #ADBAC7">(</span><span style="color: #96D0FF">&quot;ggplot2&quot;</span><span style="color: #ADBAC7">)</span></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#22272e;color:#9eadbd;font-size:12px;line-height:1;position:relative"><a class="cbp-footer-link" href="https://d-learn.ir/r4da" style="color:#9eadbd;text-decoration:none;font-weight:normal;border:none;background:none;border-radius:0;padding:0;margin:0" target="_blank" rel="noopener noreferrer">R</a></span></div>



<p class="sm-p wp-block-paragraph">این نسخه شامل تغییرات قابل توجهی است که دلیلی برای تغییر شماره اصلی نسخه شده است. مهم‌ترین تغییرات شامل بازنویسی سیستم شیءگرا از S3 به S7، اضافه شدن ویژگی‌های جدید، بهبودهای کاربردی و رفع اشکالات است. همچنین هجدهمین سالگرد انتشار این بسته گرامی داشته می‌شود. در این متن، برجسته‌ترین ویژگی‌های جدید این نسخه معرفی می‌شوند. لیست کامل تغییرات در <a href="https://ggplot2.tidyverse.org/news/index.html" rel="nofollow noopener" target="_blank">یادداشت‌های انتشار</a> قابل مشاهده است.</p>



<h2 class="wp-block-heading">انتقال به S7</h2>



<p class="sm-p wp-block-paragraph">در <code>ggplot2</code>، افزایش شماره اصلی نسخه نشان‌دهنده تغییرات اساسی در هسته بسته است. در این نسخه، بسیاری از اشیاء S3 با اشیاء S7 جایگزین شده‌اند. S7 مانند S3 و S4 یک سیستم شیءگرا مبتنی بر کلاس، توابع عمومی و متدهاست که سعی می‌کند بین انعطاف‌پذیری S3 و ساختارمند بودن S4 تعادل ایجاد کند.</p>



<p class="sm-p wp-block-paragraph">این تغییر برای کاربران معمولی که فقط از <code>ggplot2</code> برای ساخت نمودار استفاده می‌کنند، چندان محسوس نخواهد بود. شاید تنها تفاوت قابل توجه، اعتبارسنجی سختگیرانه‌تر انواع داده‌ها باشد. برای مثال، ورودی‌های نامعتبر اکنون بلافاصله رد می‌شوند:</p>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#adbac7;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>element_text(hjust = "foo")
#> Error: &lt;ggplot2::element_text> object properties are invalid:
#> - @hjust must be &lt;NULL>, &lt;integer>, or &lt;double>, not &lt;character></textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki github-dark-dimmed" style="background-color: #22272e" tabindex="0"><code><span class="line"><span style="color: #F69D50">element_text</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">hjust</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;foo&quot;</span><span style="color: #ADBAC7">)</span></span>
<span class="line"><span style="color: #768390">#&gt; Error: &lt;ggplot2::element_text&gt; object properties are invalid:</span></span>
<span class="line"><span style="color: #768390">#&gt; - @hjust must be &lt;NULL&gt;, &lt;integer&gt;, or &lt;double&gt;, not &lt;character&gt;</span></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#22272e;color:#9eadbd;font-size:12px;line-height:1;position:relative"><a class="cbp-footer-link" href="https://d-learn.ir/r4da" style="color:#9eadbd;text-decoration:none;font-weight:normal;border:none;background:none;border-radius:0;padding:0;margin:0" target="_blank" rel="noopener noreferrer">R</a></span></div>



<p class="sm-p wp-block-paragraph">اما اگر از قابلیت‌های داخلی <code>ggplot2</code> به روش‌های غیرمعمول استفاده می‌کنید، ممکن است نیاز به تنظیمات داشته باشید. برای توسعه‌دهندگان افزونه‌ها، مزیت اصلی S7 امکان استفاده از double dispatch است که به خصوص برای تابع <a href="https://ggplot2.tidyverse.org/reference/update_ggplot.html" target="_blank" rel="noreferrer noopener nofollow"><code>update_ggplot()</code></a> (جانشین <a href="https://ggplot2.tidyverse.org/reference/update_ggplot.html" target="_blank" rel="noreferrer noopener nofollow"><code>ggplot_add()</code></a>) مهم است. این تابع کنترل بیشتری بر رفتار عملگر <code>+</code> هنگام افزودن اشیاء به نمودار فراهم می‌کند.</p>



<p class="sm-p wp-block-paragraph">برای حفظ سازگاری با بسته‌های موجود، برخی ویژگی‌های قدیمی به طور موقت حفظ شده‌اند (مانند دسترسی به داده‌ها با <code><em>ggplot()$data</em></code>). این ویژگی‌ها به تدریج حذف خواهند شد و راهنمای مهاجرت از S3 به S7 برای بسته‌های مرتبط در حال آماده‌سازی است.</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">بهبودهای طراحی</h2>



<p class="sm-p wp-block-paragraph">تم‌ها در <a href="https://d-learn.ir/courses/ggplot2-intro/" data-type="link" data-id="https://d-learn.ir/courses/ggplot2-intro/"><code>ggplot2</code> </a>مسئول کنترل ظاهر نمودارها هستند. در این نسخه، پیش‌فرض‌های ظاهری لایه‌ها (مانند شکل نقاط و پالت رنگ) نیز به تم‌ها منتقل شده‌اند. این ایده که پیش‌فرض‌های لایه‌ها باید بخشی از تم باشند، مدتی است مطرح بوده و اکنون پیاده‌سازی شده است.</p>



<h3 class="wp-block-heading">جوهر و کاغذ</h3>



<p class="wp-block-paragraph">پیش‌فرض‌های جدید لایه‌ها با مفاهیم <code>ink</code> (پیش‌زمینه) و <code>paper</code> (پس‌زمینه) کار می‌کنند که با ویژگی‌های <code>colour</code> و <code>fill</code> متفاوت هستند. برای مثال &nbsp;یک نمودار جعبه‌ای بدون&nbsp;<code>colour</code>&nbsp;قابل خواندن نیست، اما بدون&nbsp;<code>fill</code>&nbsp;کاملاً قابل تفسیر است. در مورد نمودار جعبه‌ای، وضوح&nbsp;<code>ink</code> را <code>colour</code>&nbsp;باید دید و در حالی که&nbsp;<code>paper</code>&nbsp;در <code>fill</code>&nbsp;قرار می‌گیرد. در نمودارهای میله‌ای یا هیستوگرام‌ها، اصل&nbsp;<a href="https://clauswilke.com/dataviz/proportional-ink.html" rel="nofollow noopener" target="_blank">تناسب جوهر</a>&nbsp;تصریح می‌کند که زیبایی‌شناسی&nbsp;<code>fill</code>&nbsp;، پیش‌زمینه در نظر گرفته می‌شود و بنابراین به عنوان&nbsp;<code>ink</code>&nbsp;در نظر گرفته می‌شود.</p>



<p class="sm-p wp-block-paragraph">این سه گزینه به تمام تم‌های داخلی اضافه شده‌اند و هم بر پیش‌فرض‌های لایه‌ها و هم بر سایر اجزای تم تأثیر می‌گذارند. برای سفارشی‌سازی تم، می‌توان از <code>theme(geom)</code> و تابع جدید <a href="https://ggplot2.tidyverse.org/reference/element.html" rel="nofollow noopener" target="_blank"><code>element_geom()</code></a> استفاده کرد. برای دسترسی به این مقادیر در نگاشت‌ها، تابع <a href="https://ggplot2.tidyverse.org/reference/aes_eval.html" rel="nofollow noopener" target="_blank"><code>from_theme()</code></a> در دسترس است.</p>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled" data-code-block-pro-font-family="Code-Pro-Hack" style="font-size:.875rem;font-family:Code-Pro-Hack,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#adbac7;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>ggplot(mpg, aes(displ, hwy)) +
  geom_point() +
  geom_smooth(method = "lm", formula = y ~ x) +
  theme_gray(paper = "cornsilk", ink = "navy", accent = "tomato")</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki github-dark-dimmed" style="background-color: #22272e" tabindex="0"><code><span class="line"><span style="color: #F69D50">ggplot</span><span style="color: #ADBAC7">(mpg, </span><span style="color: #F69D50">aes</span><span style="color: #ADBAC7">(displ, hwy)) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">geom_point</span><span style="color: #ADBAC7">() </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">geom_smooth</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">method</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;lm&quot;</span><span style="color: #ADBAC7">, </span><span style="color: #F69D50">formula</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> y </span><span style="color: #F47067">~</span><span style="color: #ADBAC7"> x) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">theme_gray</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">paper</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;cornsilk&quot;</span><span style="color: #ADBAC7">, </span><span style="color: #F69D50">ink</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;navy&quot;</span><span style="color: #ADBAC7">, </span><span style="color: #F69D50">accent</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;tomato&quot;</span><span style="color: #ADBAC7">)</span></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#22272e;color:#9eadbd;font-size:12px;line-height:1;position:relative">R</span></div>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="632" src="https://d-learn.ir/wp-content/uploads/2025/09/image-1024x632.png" alt="image | به‌روزرسانی بسته ggplot2 +تغییرات 4.0" class="wp-image-89343" title="به‌روزرسانی بسته ggplot2 +تغییرات 4.0 1" srcset="https://d-learn.ir/wp-content/uploads/2025/09/image-1024x632.png 1024w, https://d-learn.ir/wp-content/uploads/2025/09/image-300x185.png 300w, https://d-learn.ir/wp-content/uploads/2025/09/image-768x474.png 768w, https://d-learn.ir/wp-content/uploads/2025/09/image.png 1344w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="sm-p wp-block-paragraph">اگر در حال سفارشی‌سازی یک قالب هستید، می‌توانید از آرگومان&nbsp;<code>theme(geom)</code>&nbsp;برای تنظیم مجموعه‌ای از پیش‌فرض‌ها استفاده کنید. تابع جدید&nbsp;<a href="https://ggplot2.tidyverse.org/reference/element.html" rel="nofollow noopener" target="_blank"><code>element_geom()</code></a>&nbsp;می‌تواند برای تنظیم این ویژگی‌ها استفاده شود. علاوه بر این، اگر می‌خواهید یک لایه، ویژگی را از این عنصر تم بخواند، می‌توانید از تابع&nbsp;<a href="https://ggplot2.tidyverse.org/reference/aes_eval.html" rel="nofollow noopener" target="_blank"><code>from_theme()</code></a>&nbsp;در نگاشت برای دسترسی به این متغیرها استفاده کنید.</p>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled" data-code-block-pro-font-family="Code-Pro-Hack" style="font-size:.875rem;font-family:Code-Pro-Hack,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#adbac7;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>ggplot(mpg, aes(class, displ)) +
  geom_boxplot(aes(colour = from_theme(accent))) +
  theme(
    geom = element_geom(accent = "tomato", paper = "cornsilk")
  )</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki github-dark-dimmed" style="background-color: #22272e" tabindex="0"><code><span class="line"><span style="color: #F69D50">ggplot</span><span style="color: #ADBAC7">(mpg, </span><span style="color: #F69D50">aes</span><span style="color: #ADBAC7">(class, displ)) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">geom_boxplot</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">aes</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">colour</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">from_theme</span><span style="color: #ADBAC7">(accent))) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">theme</span><span style="color: #ADBAC7">(</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">geom</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">element_geom</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">accent</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;tomato&quot;</span><span style="color: #ADBAC7">, </span><span style="color: #F69D50">paper</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;cornsilk&quot;</span><span style="color: #ADBAC7">)</span></span>
<span class="line"><span style="color: #ADBAC7">  )</span></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#22272e;color:#9eadbd;font-size:12px;line-height:1;position:relative"><a class="cbp-footer-link" href="/r4da" style="color:#9eadbd;text-decoration:none;font-weight:normal;border:none;background:none;border-radius:0;padding:0;margin:0" target="_blank" rel="noopener noreferrer">R</a></span></div>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="632" src="https://d-learn.ir/wp-content/uploads/2025/09/image-1-1024x632.png" alt="image 1 | به‌روزرسانی بسته ggplot2 +تغییرات 4.0" class="wp-image-89347" title="به‌روزرسانی بسته ggplot2 +تغییرات 4.0 2" srcset="https://d-learn.ir/wp-content/uploads/2025/09/image-1-1024x632.png 1024w, https://d-learn.ir/wp-content/uploads/2025/09/image-1-300x185.png 300w, https://d-learn.ir/wp-content/uploads/2025/09/image-1-768x474.png 768w, https://d-learn.ir/wp-content/uploads/2025/09/image-1.png 1344w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="sm-p wp-block-paragraph">دومین تفاوت مفهومی در&nbsp;<a href="https://ggplot2.tidyverse.org/reference/element.html" rel="nofollow noopener" target="_blank"><code>element_geom()</code></a>&nbsp;مربوط به استفاده از خطوط است. در یک نقش، مانند یک نمودار خطی، خط مستقیماً داده‌ها را نشان می‌دهد. در نقش دوم، یک خط به عنوان جداکننده بین دو واحد عمل می‌کند. به عنوان مثال، می‌توانید کشورها را به صورت چندضلعی نمایش دهید و خطی که رئوس را به هم متصل می‌کند، مکان‌هایی را که درون یک کشور هستند از مکان‌هایی که خارج از آن کشور هستند جدا می‌کند. این دو نقش در یک جفت&nbsp;<code>linewidth</code>&nbsp;و&nbsp;<code>linetype</code>&nbsp;و یک جفت&nbsp;<code>borderwidth</code>&nbsp;و&nbsp;<code>bordertype</code>&nbsp;نمایش داده می‌شوند.</p>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled" data-code-block-pro-font-family="Code-Pro-Hack" style="font-size:.875rem;font-family:Code-Pro-Hack,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#adbac7;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>ggplot(faithful, aes(waiting)) +
  geom_histogram(bins = 30, colour = "black") +
  geom_freqpoly(bins = 30) +
  theme(geom = element_geom(
    bordertype = "dashed",
    borderwidth = 0.2,
    linewidth = 2,
    linetype = "solid"
  ))</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki github-dark-dimmed" style="background-color: #22272e" tabindex="0"><code><span class="line"><span style="color: #F69D50">ggplot</span><span style="color: #ADBAC7">(faithful, </span><span style="color: #F69D50">aes</span><span style="color: #ADBAC7">(waiting)) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">geom_histogram</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">bins</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">30</span><span style="color: #ADBAC7">, </span><span style="color: #F69D50">colour</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;black&quot;</span><span style="color: #ADBAC7">) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">geom_freqpoly</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">bins</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">30</span><span style="color: #ADBAC7">) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">theme</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">geom</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">element_geom</span><span style="color: #ADBAC7">(</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">bordertype</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;dashed&quot;</span><span style="color: #ADBAC7">,</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">borderwidth</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">0.2</span><span style="color: #ADBAC7">,</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">linewidth</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">2</span><span style="color: #ADBAC7">,</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">linetype</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;solid&quot;</span></span>
<span class="line"><span style="color: #ADBAC7">  ))</span></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#22272e;color:#9eadbd;font-size:12px;line-height:1;position:relative"><a class="cbp-footer-link" href="/r4da" style="color:#9eadbd;text-decoration:none;font-weight:normal;border:none;background:none;border-radius:0;padding:0;margin:0" target="_blank" rel="noopener noreferrer">R</a></span></div>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="632" src="https://d-learn.ir/wp-content/uploads/2025/09/image-2-1024x632.png" alt="image 2 | به‌روزرسانی بسته ggplot2 +تغییرات 4.0" class="wp-image-89348" title="به‌روزرسانی بسته ggplot2 +تغییرات 4.0 3" srcset="https://d-learn.ir/wp-content/uploads/2025/09/image-2-1024x632.png 1024w, https://d-learn.ir/wp-content/uploads/2025/09/image-2-300x185.png 300w, https://d-learn.ir/wp-content/uploads/2025/09/image-2-768x474.png 768w, https://d-learn.ir/wp-content/uploads/2025/09/image-2.png 1344w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading">مقیاس‌ها و پالت‌ها</h3>



<p class="sm-p wp-block-paragraph">پالت‌های پیش‌فرض اکنون در تم‌ها تعریف می‌شوند. تنظیمات مربوطه با الگوی <code>palette.{aesthetic}.{type}</code> (که <code>type</code> می‌تواند <code>discrete</code> یا <code>continuous</code> باشد) مشخص می‌شوند:</p>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled" data-code-block-pro-font-family="Code-Pro-Hack" style="font-size:.875rem;font-family:Code-Pro-Hack,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#adbac7;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>ggplot(mpg, aes(displ, hwy, shape = drv, colour = cty)) +
  geom_point() +
  theme(
    palette.colour.continuous = c("chartreuse", "forestgreen"),
    palette.shape.discrete = c("triangle", "triangle open", "triangle down open")
  )</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki github-dark-dimmed" style="background-color: #22272e" tabindex="0"><code><span class="line"><span style="color: #F69D50">ggplot</span><span style="color: #ADBAC7">(mpg, </span><span style="color: #F69D50">aes</span><span style="color: #ADBAC7">(displ, hwy, </span><span style="color: #F69D50">shape</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> drv, </span><span style="color: #F69D50">colour</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> cty)) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">geom_point</span><span style="color: #ADBAC7">() </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">theme</span><span style="color: #ADBAC7">(</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">palette.colour.continuous</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">c</span><span style="color: #ADBAC7">(</span><span style="color: #96D0FF">&quot;chartreuse&quot;</span><span style="color: #ADBAC7">, </span><span style="color: #96D0FF">&quot;forestgreen&quot;</span><span style="color: #ADBAC7">),</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">palette.shape.discrete</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">c</span><span style="color: #ADBAC7">(</span><span style="color: #96D0FF">&quot;triangle&quot;</span><span style="color: #ADBAC7">, </span><span style="color: #96D0FF">&quot;triangle open&quot;</span><span style="color: #ADBAC7">, </span><span style="color: #96D0FF">&quot;triangle down open&quot;</span><span style="color: #ADBAC7">)</span></span>
<span class="line"><span style="color: #ADBAC7">  )</span></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#22272e;color:#9eadbd;font-size:12px;line-height:1;position:relative"><a class="cbp-footer-link" href="https://d-learn.ir/r4da" style="color:#9eadbd;text-decoration:none;font-weight:normal;border:none;background:none;border-radius:0;padding:0;margin:0" target="_blank" rel="noopener noreferrer">R</a></span></div>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="632" src="https://d-learn.ir/wp-content/uploads/2025/09/image-17-1024x632.png" alt="image 17 | به‌روزرسانی بسته ggplot2 +تغییرات 4.0" class="wp-image-89370" title="به‌روزرسانی بسته ggplot2 +تغییرات 4.0 4" srcset="https://d-learn.ir/wp-content/uploads/2025/09/image-17-1024x632.png 1024w, https://d-learn.ir/wp-content/uploads/2025/09/image-17-300x185.png 300w, https://d-learn.ir/wp-content/uploads/2025/09/image-17-768x474.png 768w, https://d-learn.ir/wp-content/uploads/2025/09/image-17.png 1344w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="sm-p wp-block-paragraph">نحوه‌ کار این است که تمام مقیاس‌های پیش‌فرض مقدار <code>palette = NULL</code> دارند که هنگام ساخت نمودار با مقادیر تعریف شده در تم جایگزین می‌شود.</p>



<h3 class="wp-block-heading">میانبرها</h3>



<p class="wp-block-paragraph">برای ساده‌سازی تعریف تم‌ها، توابع کمکی جدیدی معرفی شده‌اند:</p>



<ul class="wp-block-list sm-ltr">
<li><a href="https://ggplot2.tidyverse.org/reference/subtheme.html" target="_blank" rel="noreferrer noopener nofollow"><code>theme_sub_axis()</code></a>
<ul class="wp-block-list">
<li><a href="https://ggplot2.tidyverse.org/reference/subtheme.html" target="_blank" rel="noreferrer noopener nofollow"><code>theme_sub_axis_x()</code></a>
<ul class="wp-block-list">
<li><a href="https://ggplot2.tidyverse.org/reference/subtheme.html" target="_blank" rel="noreferrer noopener nofollow"><code>theme_sub_axis_bottom()</code></a></li>



<li><a href="https://ggplot2.tidyverse.org/reference/subtheme.html" target="_blank" rel="noreferrer noopener nofollow"><code>theme_sub_axis_top()</code></a></li>
</ul>
</li>



<li><a href="https://ggplot2.tidyverse.org/reference/subtheme.html" target="_blank" rel="noreferrer noopener nofollow"><code>theme_sub_axis_y()</code></a>
<ul class="wp-block-list">
<li><a href="https://ggplot2.tidyverse.org/reference/subtheme.html" target="_blank" rel="noreferrer noopener nofollow"><code>theme_sub_axis_left()</code></a></li>



<li><a href="https://ggplot2.tidyverse.org/reference/subtheme.html" target="_blank" rel="noreferrer noopener nofollow"><code>theme_sub_axis_right()</code></a></li>
</ul>
</li>
</ul>
</li>



<li><a href="https://ggplot2.tidyverse.org/reference/subtheme.html" target="_blank" rel="noreferrer noopener nofollow"><code>theme_sub_legend()</code></a></li>



<li><a href="https://ggplot2.tidyverse.org/reference/subtheme.html" target="_blank" rel="noreferrer noopener nofollow"><code>theme_sub_panel()</code></a></li>



<li><a href="https://ggplot2.tidyverse.org/reference/subtheme.html" target="_blank" rel="noreferrer noopener nofollow"><code>theme_sub_plot()</code></a></li>



<li><a href="https://ggplot2.tidyverse.org/reference/subtheme.html" target="_blank" rel="noreferrer noopener nofollow"><code>theme_sub_strip()</code></a></li>
</ul>



<p class="sm-p wp-block-paragraph">این توابع با افزودن پیشوند مناسب، آرگومان‌ها را به <code>theme()</code> منتقل می‌کنند و کد را خواناتر می‌کنند. برای مثال، استفاده از&nbsp;<code>theme_sub_legend(justification)</code>&nbsp; به&nbsp;<code>theme(legend.justification)</code>&nbsp;ترجمه می‌شود:</p>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled" data-code-block-pro-font-family="Code-Pro-Hack" style="font-size:.875rem;font-family:Code-Pro-Hack,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#adbac7;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly># روش قدیمی: طولانی و نامرتب
theme(
  panel.widths = unit(5, "cm"),
  axis.ticks.x = element_line(colour = "red"),
  axis.ticks.length.x = unit(5, "mm"),
  panel.background = element_rect(fill = NA),
  panel.spacing.x = unit(5, "mm")
)

# روش جدید: مختصر و منظم
theme_sub_axis_x(
  ticks = element_line(colour = "red"),
  ticks.length = unit(5, "mm")
) +
theme_sub_panel(
  widths = unit(5, "cm"),
  spacing.x = unit(5, "mm"),
  background = element_rect(fill = NA)
)</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki github-dark-dimmed" style="background-color: #22272e" tabindex="0"><code><span class="line"><span style="color: #768390"># روش قدیمی: طولانی و نامرتب</span></span>
<span class="line"><span style="color: #F69D50">theme</span><span style="color: #ADBAC7">(</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">panel.widths</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">unit</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">5</span><span style="color: #ADBAC7">, </span><span style="color: #96D0FF">&quot;cm&quot;</span><span style="color: #ADBAC7">),</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">axis.ticks.x</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">element_line</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">colour</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;red&quot;</span><span style="color: #ADBAC7">),</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">axis.ticks.length.x</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">unit</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">5</span><span style="color: #ADBAC7">, </span><span style="color: #96D0FF">&quot;mm&quot;</span><span style="color: #ADBAC7">),</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">panel.background</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">element_rect</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">fill</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">NA</span><span style="color: #ADBAC7">),</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">panel.spacing.x</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">unit</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">5</span><span style="color: #ADBAC7">, </span><span style="color: #96D0FF">&quot;mm&quot;</span><span style="color: #ADBAC7">)</span></span>
<span class="line"><span style="color: #ADBAC7">)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #768390"># روش جدید: مختصر و منظم</span></span>
<span class="line"><span style="color: #F69D50">theme_sub_axis_x</span><span style="color: #ADBAC7">(</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">ticks</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">element_line</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">colour</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;red&quot;</span><span style="color: #ADBAC7">),</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">ticks.length</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">unit</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">5</span><span style="color: #ADBAC7">, </span><span style="color: #96D0FF">&quot;mm&quot;</span><span style="color: #ADBAC7">)</span></span>
<span class="line"><span style="color: #ADBAC7">) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #F69D50">theme_sub_panel</span><span style="color: #ADBAC7">(</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">widths</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">unit</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">5</span><span style="color: #ADBAC7">, </span><span style="color: #96D0FF">&quot;cm&quot;</span><span style="color: #ADBAC7">),</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">spacing.x</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">unit</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">5</span><span style="color: #ADBAC7">, </span><span style="color: #96D0FF">&quot;mm&quot;</span><span style="color: #ADBAC7">),</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">background</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">element_rect</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">fill</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">NA</span><span style="color: #ADBAC7">)</span></span>
<span class="line"><span style="color: #ADBAC7">)</span></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#22272e;color:#9eadbd;font-size:12px;line-height:1;position:relative"><a class="cbp-footer-link" href="https://d-learn.ir/r4da" style="color:#9eadbd;text-decoration:none;font-weight:normal;border:none;background:none;border-radius:0;padding:0;margin:0" target="_blank" rel="noopener noreferrer">R</a></span></div>



<p class="wp-block-paragraph">برای تعریف حاشیه‌ها، دو تابع جدید اضافه شده است:</p>



<ul class="wp-block-list">
<li><a href="https://ggplot2.tidyverse.org/reference/element.html" rel="nofollow noopener" target="_blank"><code>margin_auto()</code></a>: تعریف حاشیه‌ها به سبک CSS
<ul class="wp-block-list">
<li class="sm-p"><code>margin_auto(1)</code>:&nbsp;هر چهار ضلع را به طور همزمان تنظیم می‌کند. این تابع به&nbsp;<code>margin(t = 1, r = 1, b = 1, l = 1)</code>&nbsp;بسط می‌یابد.</li>



<li><code>margin_auto(1, 2)</code>: &nbsp;اضلاع افقی و عمودی را تنظیم می‌کند. این تابع به&nbsp;<code>margin(t = 1, r = 2, b = 1, l = 2)</code>&nbsp;بسط می‌یابد.</li>
</ul>
</li>



<li><a href="https://ggplot2.tidyverse.org/reference/element.html" rel="nofollow noopener" target="_blank"><code>margin_part()</code></a>: تعریف حاشیه‌های انتخابی با حفظ مقادیر پیش‌فرض</li>
</ul>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled" data-code-block-pro-font-family="Code-Pro-Hack" style="font-size:.875rem;font-family:Code-Pro-Hack,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#adbac7;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>merge_element(
  margin_part(r = 20), # child
  margin_auto(10) # parent
)
#> &#91;1&#93; 10points 20points 10points 10points</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki github-dark-dimmed" style="background-color: #22272e" tabindex="0"><code><span class="line"><span style="color: #F69D50">merge_element</span><span style="color: #ADBAC7">(</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">margin_part</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">r</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">20</span><span style="color: #ADBAC7">), </span><span style="color: #768390"># child</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">margin_auto</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">10</span><span style="color: #ADBAC7">) </span><span style="color: #768390"># parent</span></span>
<span class="line"><span style="color: #ADBAC7">)</span></span>
<span class="line"><span style="color: #768390">#&gt; &#91;1&#93; 10points 20points 10points 10points</span></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#22272e;color:#9eadbd;font-size:12px;line-height:1;position:relative"><a class="cbp-footer-link" href="/r4da" style="color:#9eadbd;text-decoration:none;font-weight:normal;border:none;background:none;border-radius:0;padding:0;margin:0" target="_blank" rel="noopener noreferrer">R</a></span></div>



<h3 class="wp-block-heading">تنظیمات جدید</h3>



<p class="sm-p wp-block-paragraph">عناصر ریشه جدید <code>spacing</code> و <code>margins</code> برای هماهنگ‌سازی فاصله‌ها در تم‌ها معرفی شده‌اند. عناصر دیگر از این مقادیر به ارث می‌برند. برای تنظیم نسبی مقادیر، می‌توان از <a href="https://ggplot2.tidyverse.org/reference/element.html" rel="nofollow noopener" target="_blank"><code>rel()</code></a> استفاده کرد. برای مثال، مقدار پیش‌فرض&nbsp;<code>axis.ticks.length</code>&nbsp;اکنون&nbsp;<code>rel(0.5)</code>&nbsp;است که باعث می‌شود تیک‌های محور y در نمودار زیر 0.5 سانتی‌متر باشند. اگر&nbsp;<code>axis.ticks.length.x</code>&nbsp;را روی&nbsp;<code>rel(2)</code>&nbsp;تنظیم کنیم، مقداری که از&nbsp;<code>axis.ticks.length</code>&nbsp;می‌آید را دو برابر می‌کند، نه مقدار&nbsp;<code>spacing</code>&nbsp;را.</p>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled" data-code-block-pro-font-family="Code-Pro-Hack" style="font-size:.875rem;font-family:Code-Pro-Hack,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#adbac7;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>p &lt;- ggplot(penguins, aes(bill_dep, bill_len, colour = species)) +
  geom_point(na.rm = TRUE)

p + theme(
  spacing = unit(1, "cm"), 
  margins = margin_auto(1, unit = "cm"),
  axis.ticks.length.x = rel(2)
)
</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki github-dark-dimmed" style="background-color: #22272e" tabindex="0"><code><span class="line"><span style="color: #ADBAC7">p </span><span style="color: #F47067">&lt;-</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">ggplot</span><span style="color: #ADBAC7">(penguins, </span><span style="color: #F69D50">aes</span><span style="color: #ADBAC7">(bill_dep, bill_len, </span><span style="color: #F69D50">colour</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> species)) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">geom_point</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">na.rm</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">TRUE</span><span style="color: #ADBAC7">)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #ADBAC7">p </span><span style="color: #F47067">+</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">theme</span><span style="color: #ADBAC7">(</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">spacing</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">unit</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">1</span><span style="color: #ADBAC7">, </span><span style="color: #96D0FF">&quot;cm&quot;</span><span style="color: #ADBAC7">), </span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">margins</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">margin_auto</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">1</span><span style="color: #ADBAC7">, </span><span style="color: #F69D50">unit</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;cm&quot;</span><span style="color: #ADBAC7">),</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">axis.ticks.length.x</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">rel</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">2</span><span style="color: #ADBAC7">)</span></span>
<span class="line"><span style="color: #ADBAC7">)</span></span>
<span class="line"></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#22272e;color:#9eadbd;font-size:12px;line-height:1;position:relative">R</span></div>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="632" src="https://d-learn.ir/wp-content/uploads/2025/09/image-3-1024x632.png" alt="image 3 | به‌روزرسانی بسته ggplot2 +تغییرات 4.0" class="wp-image-89352" title="به‌روزرسانی بسته ggplot2 +تغییرات 4.0 5" srcset="https://d-learn.ir/wp-content/uploads/2025/09/image-3-1024x632.png 1024w, https://d-learn.ir/wp-content/uploads/2025/09/image-3-300x185.png 300w, https://d-learn.ir/wp-content/uploads/2025/09/image-3-768x474.png 768w, https://d-learn.ir/wp-content/uploads/2025/09/image-3.png 1344w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="sm-p wp-block-paragraph">همچنین برای کنترل اندازه نمودارها، آرگومان‌های <code>panel.widths</code> و <code>panel.heights</code> اضافه شده‌اند که با <code>ggsave(width, height)</code> متفاوت هستند (این آرگومان‌ها فقط اندازه پنل‌ها را کنترل می‌کنند، نه کل نمودار). دو روش برای استفاده از این آرگومان‌ها وجود دارد:</p>



<ul class="wp-block-list">
<li class="sm-p">یک بردار از واحدها بدهید: هر واحد به طور جداگانه روی یک پنل اعمال می‌شود و بردار برای تناسب با تعداد پنل‌ها اجرامی‌شود.</li>



<li>یک واحد یکسان بدهید: که مساحت کل پنل (شامل فواصل پنل‌ها و محورهای داخلی) را به آن اندازه تنظیم می‌کند.</li>
</ul>



<p class="wp-block-paragraph">طبیعتاً، اگر فقط یک پنل داشته باشید، این رویکردها یکسان هستند. اگر چندین پنل دارید و می‌خواهید اندازه پنل‌های جداگانه را یکسان کنید (برخلاف اندازه کل)، می‌توانید از آن استفاده کنید و از یک بردار واحد با طول ۲ استفاده کنید.</p>



<p class="sm-p wp-block-paragraph">در نمودارهای زیر، می‌توانید متوجه شوید که پنل‌ها با وجود اینکه واحدها به مقدار یکسانی (۹ سانتی‌متر) جمع می‌شوند، عرض متفاوتی دارند. دلیل این امر این است که رویکرد «تک واحدی» شامل فواصل پنل‌ها نیز می‌شود، اما رویکرد دیگر شامل این موضوع نمی‌شود.</p>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled" data-code-block-pro-font-family="Code-Pro-Hack" style="font-size:.875rem;font-family:Code-Pro-Hack,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#adbac7;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>p1 &lt;- p + facet_grid(~ island) +
  labs(title = "Separate units (per panel)") +
  # Using the new shortcut for panels
  theme_sub_panel(
    widths = unit(c(2, 3, 4), "cm"),
    heights = unit(3, "cm")
  )

p2 &lt;- p + facet_grid(~ island) +
  labs(title = "Single unit (all panels)") +
  theme_sub_panel(
    widths = unit(9, "cm"),
    heights = unit(3, "cm")
  )

p1 / p2</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki github-dark-dimmed" style="background-color: #22272e" tabindex="0"><code><span class="line"><span style="color: #ADBAC7">p1 </span><span style="color: #F47067">&lt;-</span><span style="color: #ADBAC7"> p </span><span style="color: #F47067">+</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">facet_grid</span><span style="color: #ADBAC7">(</span><span style="color: #F47067">~</span><span style="color: #ADBAC7"> island) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">labs</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">title</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;Separate units (per panel)&quot;</span><span style="color: #ADBAC7">) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #768390"># Using the new shortcut for panels</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">theme_sub_panel</span><span style="color: #ADBAC7">(</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">widths</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">unit</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">c</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">2</span><span style="color: #ADBAC7">, </span><span style="color: #6CB6FF">3</span><span style="color: #ADBAC7">, </span><span style="color: #6CB6FF">4</span><span style="color: #ADBAC7">), </span><span style="color: #96D0FF">&quot;cm&quot;</span><span style="color: #ADBAC7">),</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">heights</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">unit</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">3</span><span style="color: #ADBAC7">, </span><span style="color: #96D0FF">&quot;cm&quot;</span><span style="color: #ADBAC7">)</span></span>
<span class="line"><span style="color: #ADBAC7">  )</span></span>
<span class="line"></span>
<span class="line"><span style="color: #ADBAC7">p2 </span><span style="color: #F47067">&lt;-</span><span style="color: #ADBAC7"> p </span><span style="color: #F47067">+</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">facet_grid</span><span style="color: #ADBAC7">(</span><span style="color: #F47067">~</span><span style="color: #ADBAC7"> island) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">labs</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">title</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;Single unit (all panels)&quot;</span><span style="color: #ADBAC7">) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">theme_sub_panel</span><span style="color: #ADBAC7">(</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">widths</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">unit</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">9</span><span style="color: #ADBAC7">, </span><span style="color: #96D0FF">&quot;cm&quot;</span><span style="color: #ADBAC7">),</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">heights</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">unit</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">3</span><span style="color: #ADBAC7">, </span><span style="color: #96D0FF">&quot;cm&quot;</span><span style="color: #ADBAC7">)</span></span>
<span class="line"><span style="color: #ADBAC7">  )</span></span>
<span class="line"></span>
<span class="line"><span style="color: #ADBAC7">p1 </span><span style="color: #F47067">/</span><span style="color: #ADBAC7"> p2</span></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#22272e;color:#9eadbd;font-size:12px;line-height:1;position:relative">R</span></div>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="632" src="https://d-learn.ir/wp-content/uploads/2025/09/image-4-1024x632.png" alt="image 4 | به‌روزرسانی بسته ggplot2 +تغییرات 4.0" class="wp-image-89353" title="به‌روزرسانی بسته ggplot2 +تغییرات 4.0 6" srcset="https://d-learn.ir/wp-content/uploads/2025/09/image-4-1024x632.png 1024w, https://d-learn.ir/wp-content/uploads/2025/09/image-4-300x185.png 300w, https://d-learn.ir/wp-content/uploads/2025/09/image-4-768x474.png 768w, https://d-learn.ir/wp-content/uploads/2025/09/image-4.png 1344w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">برچسب‌گذاری</h2>



<p class="sm-p wp-block-paragraph">روش‌های جدیدی برای بازیابی برچسب متغیرها اضافه شده است. <code>ggplot2</code> اکنون از ویژگی <code>label</code> (که در بسته‌هایی مانند <code>gt</code>، labelsd&nbsp;و <code>Hmisc</code> استفاده می‌شود) به عنوان برچسب پیش‌فرض متغیر استفاده می‌کند:</p>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled" data-code-block-pro-font-family="Code-Pro-Hack" style="font-size:.875rem;font-family:Code-Pro-Hack,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#adbac7;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly># فراخوانی دیتاست پیش‌فرض پنگوئن‌ها
df &lt;- penguins

# تنظیم دستی لیبل‌ها
attr(df$species, "label") &lt;- "Penguin Species"
attr(df$bill_dep, "label") &lt;- "Bill depth (mm)"
attr(df$bill_len, "label") &lt;- "Bill length (mm)"
attr(df$body_mass, "label") &lt;- "Body mass (g)"

ggplot(df, aes(bill_dep, bill_len, colour = sqrt(body_mass))) +
  geom_point(na.rm = TRUE)
</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki github-dark-dimmed" style="background-color: #22272e" tabindex="0"><code><span class="line"><span style="color: #768390"># فراخوانی دیتاست پیش‌فرض پنگوئن‌ها</span></span>
<span class="line"><span style="color: #ADBAC7">df </span><span style="color: #F47067">&lt;-</span><span style="color: #ADBAC7"> penguins</span></span>
<span class="line"></span>
<span class="line"><span style="color: #768390"># تنظیم دستی لیبل‌ها</span></span>
<span class="line"><span style="color: #6CB6FF">attr</span><span style="color: #ADBAC7">(df</span><span style="color: #F47067">$</span><span style="color: #ADBAC7">species, </span><span style="color: #96D0FF">&quot;label&quot;</span><span style="color: #ADBAC7">) </span><span style="color: #F47067">&lt;-</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;Penguin Species&quot;</span></span>
<span class="line"><span style="color: #6CB6FF">attr</span><span style="color: #ADBAC7">(df</span><span style="color: #F47067">$</span><span style="color: #ADBAC7">bill_dep, </span><span style="color: #96D0FF">&quot;label&quot;</span><span style="color: #ADBAC7">) </span><span style="color: #F47067">&lt;-</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;Bill depth (mm)&quot;</span></span>
<span class="line"><span style="color: #6CB6FF">attr</span><span style="color: #ADBAC7">(df</span><span style="color: #F47067">$</span><span style="color: #ADBAC7">bill_len, </span><span style="color: #96D0FF">&quot;label&quot;</span><span style="color: #ADBAC7">) </span><span style="color: #F47067">&lt;-</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;Bill length (mm)&quot;</span></span>
<span class="line"><span style="color: #6CB6FF">attr</span><span style="color: #ADBAC7">(df</span><span style="color: #F47067">$</span><span style="color: #ADBAC7">body_mass, </span><span style="color: #96D0FF">&quot;label&quot;</span><span style="color: #ADBAC7">) </span><span style="color: #F47067">&lt;-</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;Body mass (g)&quot;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F69D50">ggplot</span><span style="color: #ADBAC7">(df, </span><span style="color: #F69D50">aes</span><span style="color: #ADBAC7">(bill_dep, bill_len, </span><span style="color: #F69D50">colour</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">sqrt</span><span style="color: #ADBAC7">(body_mass))) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">geom_point</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">na.rm</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">TRUE</span><span style="color: #ADBAC7">)</span></span>
<span class="line"></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#22272e;color:#9eadbd;font-size:12px;line-height:1;position:relative"><a class="cbp-footer-link" href="/r4da" style="color:#9eadbd;text-decoration:none;font-weight:normal;border:none;background:none;border-radius:0;padding:0;margin:0" target="_blank" rel="noopener noreferrer">R</a></span></div>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="632" src="https://d-learn.ir/wp-content/uploads/2025/09/image-18-1024x632.png" alt="image 18 | به‌روزرسانی بسته ggplot2 +تغییرات 4.0" class="wp-image-89371" title="به‌روزرسانی بسته ggplot2 +تغییرات 4.0 7" srcset="https://d-learn.ir/wp-content/uploads/2025/09/image-18-1024x632.png 1024w, https://d-learn.ir/wp-content/uploads/2025/09/image-18-300x185.png 300w, https://d-learn.ir/wp-content/uploads/2025/09/image-18-768x474.png 768w, https://d-learn.ir/wp-content/uploads/2025/09/image-18.png 1344w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="sm-p wp-block-paragraph">برای کار با دیکشنری‌ داده، آرگومان <code>labs(dictionary)</code> اضافه شده است. این آرگومان یک بردار نام‌دار از برچسب‌ها را می‌گیرد که می‌توان به راحتی آن را از یک دیکشنری با استفاده از <a href="https://rdrr.io/r/stats/setNames.html" target="_blank" rel="noreferrer noopener nofollow">setNames()</a> یا <a href="https://dplyr.tidyverse.org/reference/pull.html" target="_blank" rel="noreferrer noopener nofollow">dplyr::pull()</a> تولید کرد.</p>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled" data-code-block-pro-font-family="Code-Pro-Hack" style="font-size:.875rem;font-family:Code-Pro-Hack,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#adbac7;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>dict &lt;- tibble::tribble(
  ~var,    ~label,
  "species",  "Penguin Species",
  "bill_dep", "Bill depth (mm)",
  "bill_len", "Bill length (mm)",
  "body_mass", "Body mass (g)"
)

ggplot(penguins, aes(bill_dep, bill_len, colour = body_mass)) +
  geom_point(na.rm = TRUE) +
  # یا
  # labs(dictionary = dplyr::pull(dict, label, name = var))
  labs(dictionary = setNames(dict$label, dict$var))
</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki github-dark-dimmed" style="background-color: #22272e" tabindex="0"><code><span class="line"><span style="color: #ADBAC7">dict </span><span style="color: #F47067">&lt;-</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">tibble</span><span style="color: #F47067">::</span><span style="color: #F69D50">tribble</span><span style="color: #ADBAC7">(</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F47067">~</span><span style="color: #ADBAC7">var,    </span><span style="color: #F47067">~</span><span style="color: #ADBAC7">label,</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #96D0FF">&quot;species&quot;</span><span style="color: #ADBAC7">,  </span><span style="color: #96D0FF">&quot;Penguin Species&quot;</span><span style="color: #ADBAC7">,</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #96D0FF">&quot;bill_dep&quot;</span><span style="color: #ADBAC7">, </span><span style="color: #96D0FF">&quot;Bill depth (mm)&quot;</span><span style="color: #ADBAC7">,</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #96D0FF">&quot;bill_len&quot;</span><span style="color: #ADBAC7">, </span><span style="color: #96D0FF">&quot;Bill length (mm)&quot;</span><span style="color: #ADBAC7">,</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #96D0FF">&quot;body_mass&quot;</span><span style="color: #ADBAC7">, </span><span style="color: #96D0FF">&quot;Body mass (g)&quot;</span></span>
<span class="line"><span style="color: #ADBAC7">)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F69D50">ggplot</span><span style="color: #ADBAC7">(penguins, </span><span style="color: #F69D50">aes</span><span style="color: #ADBAC7">(bill_dep, bill_len, </span><span style="color: #F69D50">colour</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> body_mass)) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">geom_point</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">na.rm</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">TRUE</span><span style="color: #ADBAC7">) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #768390"># یا</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #768390"># labs(dictionary = dplyr::pull(dict, label, name = var))</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">labs</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">dictionary</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">setNames</span><span style="color: #ADBAC7">(dict</span><span style="color: #F47067">$</span><span style="color: #ADBAC7">label, dict</span><span style="color: #F47067">$</span><span style="color: #ADBAC7">var))</span></span>
<span class="line"></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#22272e;color:#9eadbd;font-size:12px;line-height:1;position:relative"><a class="cbp-footer-link" href="/r4da" style="color:#9eadbd;text-decoration:none;font-weight:normal;border:none;background:none;border-radius:0;padding:0;margin:0" target="_blank" rel="noopener noreferrer">R</a></span></div>



<figure class="wp-block-image"><img decoding="async" src="https://www.tidyverse.org/blog/2025/09/ggplot2-4-0-0/figs/unnamed-chunk-12-1.png" alt="Image 3" title="به‌روزرسانی بسته ggplot2 +تغییرات 4.0 8"></figure>



<p class="sm-p wp-block-paragraph">یکی از مزایای رویکردهای ویژگی‌های برچسب یا دیکشنری داده این است که به متغیرهای شما متصل است و  نه در aesthtics (که در ggplot2 با aes نوشته می‌شود). این بدان معناست که می‌توانید به راحتی  خود را برای یک نمودار متفاوت بازآرایی کنید، بدون اینکه مجبور باشید برچسب‌ها را صحیح با دقت مجدداً هدایت کنید.</p>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled" data-code-block-pro-font-family="Code-Pro-Hack" style="font-size:.875rem;font-family:Code-Pro-Hack,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#adbac7;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>last_plot() +
  aes(body_mass, bill_len, colour = species)</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki github-dark-dimmed" style="background-color: #22272e" tabindex="0"><code><span class="line"><span style="color: #F69D50">last_plot</span><span style="color: #ADBAC7">() </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">aes</span><span style="color: #ADBAC7">(body_mass, bill_len, </span><span style="color: #F69D50">colour</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> species)</span></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#22272e;color:#9eadbd;font-size:12px;line-height:1;position:relative">R</span></div>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="632" src="https://d-learn.ir/wp-content/uploads/2025/09/image-19-1024x632.png" alt="image 19 | به‌روزرسانی بسته ggplot2 +تغییرات 4.0" class="wp-image-89372" title="به‌روزرسانی بسته ggplot2 +تغییرات 4.0 9" srcset="https://d-learn.ir/wp-content/uploads/2025/09/image-19-1024x632.png 1024w, https://d-learn.ir/wp-content/uploads/2025/09/image-19-300x185.png 300w, https://d-learn.ir/wp-content/uploads/2025/09/image-19-768x474.png 768w, https://d-learn.ir/wp-content/uploads/2025/09/image-19.png 1344w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">سلسله مراتب اولویت برچسب‌ها به ترتیب زیر است:</p>



<ol class="wp-block-list">
<li>عبارت  در <a href="https://ggplot2.tidyverse.org/reference/aes.html" rel="nofollow noopener" target="_blank"><code>AES()</code></a></li>



<li>ورودی در <code>labs(dictionary)</code></li>



<li>ویژگی <code>label</code> در ستون</li>



<li>ورودی در <code>labs(&lt;aesthetic&gt; = &lt;label&gt;)</code></li>



<li>آرگومان <code>scale_*(name)</code></li>



<li>آرگومان <code>guide_*(title)</code></li>
</ol>



<p class="wp-block-paragraph">این سلسله مراتب را می‌توانید در نمودار زیر ببینید. تابع در راهنمای محور ورودی را از&nbsp;<a href="https://ggplot2.tidyverse.org/reference/labs.html" rel="nofollow noopener" target="_blank"><code>Labs()</code></a>&nbsp;استفاده کنید.</p>



<p class="sm-p wp-block-paragraph"></p>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled" data-code-block-pro-font-family="Code-Pro-Hack" style="font-size:.875rem;font-family:Code-Pro-Hack,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#adbac7;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>ggplot(penguins, aes(bill_dep, bill_len, colour = species)) +
  geom_point(na.rm = TRUE) +
  scale_colour_discrete(name = toupper) +
  guides(x = guide_axis(title = tools::toTitleCase)) +
  labs(
    y = \(x) paste0(x, " variable"),
    x = "the label for the x variable"
  )
</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki github-dark-dimmed" style="background-color: #22272e" tabindex="0"><code><span class="line"><span style="color: #F69D50">ggplot</span><span style="color: #ADBAC7">(penguins, </span><span style="color: #F69D50">aes</span><span style="color: #ADBAC7">(bill_dep, bill_len, </span><span style="color: #F69D50">colour</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> species)) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">geom_point</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">na.rm</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">TRUE</span><span style="color: #ADBAC7">) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">scale_colour_discrete</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">name</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> toupper) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">guides</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">x</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">guide_axis</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">title</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">tools</span><span style="color: #F47067">::</span><span style="color: #ADBAC7">toTitleCase)) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">labs</span><span style="color: #ADBAC7">(</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #DCBDFB">y</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">\</span><span style="color: #ADBAC7">(x) </span><span style="color: #6CB6FF">paste0</span><span style="color: #ADBAC7">(x, </span><span style="color: #96D0FF">&quot; variable&quot;</span><span style="color: #ADBAC7">),</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">x</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;the label for the x variable&quot;</span></span>
<span class="line"><span style="color: #ADBAC7">  )</span></span>
<span class="line"></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#22272e;color:#9eadbd;font-size:12px;line-height:1;position:relative"><a class="cbp-footer-link" href="/r4da" style="color:#9eadbd;text-decoration:none;font-weight:normal;border:none;background:none;border-radius:0;padding:0;margin:0" target="_blank" rel="noopener noreferrer">R</a></span></div>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="632" src="https://d-learn.ir/wp-content/uploads/2025/09/image-5-1024x632.png" alt="image 5 | به‌روزرسانی بسته ggplot2 +تغییرات 4.0" class="wp-image-89354" title="به‌روزرسانی بسته ggplot2 +تغییرات 4.0 10" srcset="https://d-learn.ir/wp-content/uploads/2025/09/image-5-1024x632.png 1024w, https://d-learn.ir/wp-content/uploads/2025/09/image-5-300x185.png 300w, https://d-learn.ir/wp-content/uploads/2025/09/image-5-768x474.png 768w, https://d-learn.ir/wp-content/uploads/2025/09/image-5.png 1344w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="sm-p wp-block-paragraph">برای مقیاس‌های گسسته، اگر <code>breaks</code> نامگذاری شده باشند، برچسب‌ها به طور پیش‌فرض از نام‌های <code>breaks</code> استفاده می‌کنند:</p>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled" data-code-block-pro-font-family="Code-Pro-Hack" style="font-size:.875rem;font-family:Code-Pro-Hack,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#adbac7;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>ggplot(penguins, aes(bill_dep, bill_len, colour = species)) +
  geom_point(na.rm = TRUE) +
  scale_colour_discrete(
    breaks = c(
      "Pygoscelis adeliae"     = "Adelie",
      "Pygoscelis papua"       = "Gentoo",
      "Pygoscelis antarcticus" = "Chinstrap"
    )
  )</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki github-dark-dimmed" style="background-color: #22272e" tabindex="0"><code><span class="line"><span style="color: #F69D50">ggplot</span><span style="color: #ADBAC7">(penguins, </span><span style="color: #F69D50">aes</span><span style="color: #ADBAC7">(bill_dep, bill_len, </span><span style="color: #F69D50">colour</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> species)) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">geom_point</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">na.rm</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">TRUE</span><span style="color: #ADBAC7">) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">scale_colour_discrete</span><span style="color: #ADBAC7">(</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">breaks</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">c</span><span style="color: #ADBAC7">(</span></span>
<span class="line"><span style="color: #ADBAC7">      </span><span style="color: #96D0FF">&quot;Pygoscelis adeliae&quot;</span><span style="color: #ADBAC7">     = </span><span style="color: #96D0FF">&quot;Adelie&quot;</span><span style="color: #ADBAC7">,</span></span>
<span class="line"><span style="color: #ADBAC7">      </span><span style="color: #96D0FF">&quot;Pygoscelis papua&quot;</span><span style="color: #ADBAC7">       = </span><span style="color: #96D0FF">&quot;Gentoo&quot;</span><span style="color: #ADBAC7">,</span></span>
<span class="line"><span style="color: #ADBAC7">      </span><span style="color: #96D0FF">&quot;Pygoscelis antarcticus&quot;</span><span style="color: #ADBAC7"> = </span><span style="color: #96D0FF">&quot;Chinstrap&quot;</span></span>
<span class="line"><span style="color: #ADBAC7">    )</span></span>
<span class="line"><span style="color: #ADBAC7">  )</span></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#22272e;color:#9eadbd;font-size:12px;line-height:1;position:relative">R</span></div>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="632" src="https://d-learn.ir/wp-content/uploads/2025/09/image-6-1024x632.png" alt="image 6 | به‌روزرسانی بسته ggplot2 +تغییرات 4.0" class="wp-image-89355" title="به‌روزرسانی بسته ggplot2 +تغییرات 4.0 11" srcset="https://d-learn.ir/wp-content/uploads/2025/09/image-6-1024x632.png 1024w, https://d-learn.ir/wp-content/uploads/2025/09/image-6-300x185.png 300w, https://d-learn.ir/wp-content/uploads/2025/09/image-6-768x474.png 768w, https://d-learn.ir/wp-content/uploads/2025/09/image-6.png 1344w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">مقیاس‌های گسسته</h2>



<p class="sm-p wp-block-paragraph">در این نسخه، انعطاف‌پذیری مقیاس‌های موقعیت گسسته افزایش یافته است. پیش از این، مقادیر گسسته همیشه به یک دنباله عدد صحیح نگاشت می‌شدند که از 1 شروع می‌شد و به تعداد سطوح می‌رسید. اکنون می‌توان از آرگومان <code>palette</code> برای تعریف نگاشت‌های سفارشی استفاده کرد:</p>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled" data-code-block-pro-font-family="Code-Pro-Hack" style="font-size:.875rem;font-family:Code-Pro-Hack,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#adbac7;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>ggplot(ToothGrowth, aes(interaction(dose, supp, sep = "\n"), len)) +
  geom_boxplot() +
  scale_x_discrete(
    palette = scales::pal_manual(c(1:3, 5:7))
  )</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki github-dark-dimmed" style="background-color: #22272e" tabindex="0"><code><span class="line"><span style="color: #F69D50">ggplot</span><span style="color: #ADBAC7">(ToothGrowth, </span><span style="color: #F69D50">aes</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">interaction</span><span style="color: #ADBAC7">(dose, supp, </span><span style="color: #F69D50">sep</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;</span><span style="color: #F47067">\n</span><span style="color: #96D0FF">&quot;</span><span style="color: #ADBAC7">), len)) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">geom_boxplot</span><span style="color: #ADBAC7">() </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">scale_x_discrete</span><span style="color: #ADBAC7">(</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">palette</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">scales</span><span style="color: #F47067">::</span><span style="color: #F69D50">pal_manual</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">c</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">1</span><span style="color: #F47067">:</span><span style="color: #6CB6FF">3</span><span style="color: #ADBAC7">, </span><span style="color: #6CB6FF">5</span><span style="color: #F47067">:</span><span style="color: #6CB6FF">7</span><span style="color: #ADBAC7">))</span></span>
<span class="line"><span style="color: #ADBAC7">  )</span></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#22272e;color:#9eadbd;font-size:12px;line-height:1;position:relative">R</span></div>



<p class="sm-p wp-block-paragraph"></p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="632" src="https://d-learn.ir/wp-content/uploads/2025/09/image-20-1024x632.png" alt="image 20 | به‌روزرسانی بسته ggplot2 +تغییرات 4.0" class="wp-image-89373" title="به‌روزرسانی بسته ggplot2 +تغییرات 4.0 12" srcset="https://d-learn.ir/wp-content/uploads/2025/09/image-20-1024x632.png 1024w, https://d-learn.ir/wp-content/uploads/2025/09/image-20-300x185.png 300w, https://d-learn.ir/wp-content/uploads/2025/09/image-20-768x474.png 768w, https://d-learn.ir/wp-content/uploads/2025/09/image-20.png 1344w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="sm-p wp-block-paragraph">محدودیت‌های پیوسته مقیاس‌های گسسته اکنون با <code>continuous.limits</code> قابل کنترل هستند. همچنین قابلیت تعریف <code>minor_breaks</code> برای مقیاس‌های گسسته و پشتیبانی از محورهای ثانویه با <a href="https://ggplot2.tidyverse.org/reference/sec_axis.html" rel="nofollow noopener" target="_blank"><code>dup_axis()</code></a> اضافه شده است.</p>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled" data-code-block-pro-font-family="Code-Pro-Hack" style="font-size:.875rem;font-family:Code-Pro-Hack,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#adbac7;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>p1 &lt;- ggplot(mpg, aes(class)) +
  geom_bar() +
  facet_wrap(~ drv, ncol = 1, scales = "free_x")

p2 &lt;- p1 + scale_x_discrete(continuous.limits = c(1, 5))

(p1 + labs(title = "Free limits")) | 
(p2 + labs(title = "Fixed limits"))</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki github-dark-dimmed" style="background-color: #22272e" tabindex="0"><code><span class="line"><span style="color: #ADBAC7">p1 </span><span style="color: #F47067">&lt;-</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">ggplot</span><span style="color: #ADBAC7">(mpg, </span><span style="color: #F69D50">aes</span><span style="color: #ADBAC7">(class)) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">geom_bar</span><span style="color: #ADBAC7">() </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">facet_wrap</span><span style="color: #ADBAC7">(</span><span style="color: #F47067">~</span><span style="color: #ADBAC7"> drv, </span><span style="color: #F69D50">ncol</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">1</span><span style="color: #ADBAC7">, </span><span style="color: #F69D50">scales</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;free_x&quot;</span><span style="color: #ADBAC7">)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #ADBAC7">p2 </span><span style="color: #F47067">&lt;-</span><span style="color: #ADBAC7"> p1 </span><span style="color: #F47067">+</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">scale_x_discrete</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">continuous.limits</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">c</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">1</span><span style="color: #ADBAC7">, </span><span style="color: #6CB6FF">5</span><span style="color: #ADBAC7">))</span></span>
<span class="line"></span>
<span class="line"><span style="color: #ADBAC7">(p1 </span><span style="color: #F47067">+</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">labs</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">title</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;Free limits&quot;</span><span style="color: #ADBAC7">)) </span><span style="color: #F47067">|</span><span style="color: #ADBAC7"> </span></span>
<span class="line"><span style="color: #ADBAC7">(p2 </span><span style="color: #F47067">+</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">labs</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">title</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;Fixed limits&quot;</span><span style="color: #ADBAC7">))</span></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#22272e;color:#9eadbd;font-size:12px;line-height:1;position:relative"><a class="cbp-footer-link" href="/r4da" style="color:#9eadbd;text-decoration:none;font-weight:normal;border:none;background:none;border-radius:0;padding:0;margin:0">R</a></span></div>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="632" src="https://d-learn.ir/wp-content/uploads/2025/09/image-7-1024x632.png" alt="image 7 | به‌روزرسانی بسته ggplot2 +تغییرات 4.0" class="wp-image-89356" title="به‌روزرسانی بسته ggplot2 +تغییرات 4.0 13" srcset="https://d-learn.ir/wp-content/uploads/2025/09/image-7-1024x632.png 1024w, https://d-learn.ir/wp-content/uploads/2025/09/image-7-300x185.png 300w, https://d-learn.ir/wp-content/uploads/2025/09/image-7-768x474.png 768w, https://d-learn.ir/wp-content/uploads/2025/09/image-7.png 1344w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="sm-p wp-block-paragraph">مقیاس های موقعیت گسسته اکنون به محورهای ثانویه نیز دسترسی دارند. برخلاف مقیاس های پیوسته، مقیاس های گسسته از تبدیلات پشتیبانی نمی کنند. بنابراین به جای&nbsp;<a href="https://ggplot2.tidyverse.org/reference/sec_axis.html" rel="nofollow noopener" target="_blank"><code>sec_axis()</code></a>، توصیه می شود استفاده کنید&nbsp;<a href="https://ggplot2.tidyverse.org/reference/sec_axis.html" rel="nofollow noopener" target="_blank"><code>dup_axis()</code></a>. برای اجازه دادن به موقعیت های دلخواه برای&nbsp;<code>dup_axis(breaks)،</code>&nbsp;این می تواند مقادیر عددی یا یکی از سطوح گسسته را بگیرد. آنها واقعا برای نمایش دو مجموعه داده تراز شده با مقیاس های مختلف مفید نیستند، اما می توانند به عنوان حاشیه نویسی عمل کنند. به عنوان مثال، آنها می توانند برخی از آمارهای خلاصه در مورد گروه ها را نمایش دهند.</p>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled" data-code-block-pro-font-family="Code-Pro-Hack" style="font-size:.875rem;font-family:Code-Pro-Hack,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#adbac7;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>ggplot(mpg, aes(class, cty)) +
  geom_boxplot() +
  scale_x_discrete(
    sec.axis = dup_axis(
      name = "Counts",
      # You can use numeric input for breaks
      breaks = seq_len(length(unique(mpg$class))),
      # Watch out for the order of `table()` and your levels!
      labels = paste0("n = ", table(mpg$class))
    )
  )</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki github-dark-dimmed" style="background-color: #22272e" tabindex="0"><code><span class="line"><span style="color: #F69D50">ggplot</span><span style="color: #ADBAC7">(mpg, </span><span style="color: #F69D50">aes</span><span style="color: #ADBAC7">(class, cty)) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">geom_boxplot</span><span style="color: #ADBAC7">() </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">scale_x_discrete</span><span style="color: #ADBAC7">(</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">sec.axis</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">dup_axis</span><span style="color: #ADBAC7">(</span></span>
<span class="line"><span style="color: #ADBAC7">      </span><span style="color: #F69D50">name</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;Counts&quot;</span><span style="color: #ADBAC7">,</span></span>
<span class="line"><span style="color: #ADBAC7">      </span><span style="color: #768390"># You can use numeric input for breaks</span></span>
<span class="line"><span style="color: #ADBAC7">      </span><span style="color: #F69D50">breaks</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">seq_len</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">length</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">unique</span><span style="color: #ADBAC7">(mpg</span><span style="color: #F47067">$</span><span style="color: #ADBAC7">class))),</span></span>
<span class="line"><span style="color: #ADBAC7">      </span><span style="color: #768390"># Watch out for the order of `table()` and your levels!</span></span>
<span class="line"><span style="color: #ADBAC7">      </span><span style="color: #F69D50">labels</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">paste0</span><span style="color: #ADBAC7">(</span><span style="color: #96D0FF">&quot;n = &quot;</span><span style="color: #ADBAC7">, </span><span style="color: #6CB6FF">table</span><span style="color: #ADBAC7">(mpg</span><span style="color: #F47067">$</span><span style="color: #ADBAC7">class))</span></span>
<span class="line"><span style="color: #ADBAC7">    )</span></span>
<span class="line"><span style="color: #ADBAC7">  )</span></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#22272e;color:#9eadbd;font-size:12px;line-height:1;position:relative">R</span></div>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="632" src="https://d-learn.ir/wp-content/uploads/2025/09/image-21-1024x632.png" alt="image 21 | به‌روزرسانی بسته ggplot2 +تغییرات 4.0" class="wp-image-89374" title="به‌روزرسانی بسته ggplot2 +تغییرات 4.0 14" srcset="https://d-learn.ir/wp-content/uploads/2025/09/image-21-1024x632.png 1024w, https://d-learn.ir/wp-content/uploads/2025/09/image-21-300x185.png 300w, https://d-learn.ir/wp-content/uploads/2025/09/image-21-768x474.png 768w, https://d-learn.ir/wp-content/uploads/2025/09/image-21.png 1344w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">موقعیت (position)</h2>



<p class="sm-p wp-block-paragraph">لایه ها از سه جزء تشکیل شده اند: آمار، ژئوم و موقعیت. آمار و ژئوم، aes خاص خود را دارند؛ مانند &nbsp;<code>weight</code>&nbsp;و <code>linewidth</code> ، تنظیمات موقعیت این گونه نبودند. تنظیمات موقعیت اکنون می‌توانند پارامترهای اختصاصی داشته باشند. برای مثال در <a href="https://ggplot2.tidyverse.org/reference/position_nudge.html" rel="nofollow noopener" target="_blank"><code>position_nudge()</code></a>، پارامترهای <code>nudge_x</code> و <code>nudge_y</code> به عنوان پارامتر در دسترس هستند:</p>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled" data-code-block-pro-font-family="Code-Pro-Hack" style="font-size:.875rem;font-family:Code-Pro-Hack,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#adbac7;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>coal &lt;- tibble::tribble(
  ~continent,  ~pct_1985, ~pct_2024,
  "Africa",        53.87, 24.68,
  "Asia",          32.60, 51.19,
  "Europe",        32.84, 12.91,
  "North America", 48.93, 13.79,
  "South America",  2.91,  3.31,
  "Oceania",       58.75, 39.26
) |>
  dplyr::mutate(pp_difference = pct_2024 - pct_1985)

ggplot(coal, aes(pp_difference, continent)) +
  geom_col() +
  geom_text(
    aes(nudge_x = sign(pp_difference) * 3, 
        label = pp_difference)
  ) +
  labs(x = "Change in electricity generated by coal (pp)")</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki github-dark-dimmed" style="background-color: #22272e" tabindex="0"><code><span class="line"><span style="color: #ADBAC7">coal </span><span style="color: #F47067">&lt;-</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">tibble</span><span style="color: #F47067">::</span><span style="color: #F69D50">tribble</span><span style="color: #ADBAC7">(</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F47067">~</span><span style="color: #ADBAC7">continent,  </span><span style="color: #F47067">~</span><span style="color: #ADBAC7">pct_1985, </span><span style="color: #F47067">~</span><span style="color: #ADBAC7">pct_2024,</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #96D0FF">&quot;Africa&quot;</span><span style="color: #ADBAC7">,        </span><span style="color: #6CB6FF">53.87</span><span style="color: #ADBAC7">, </span><span style="color: #6CB6FF">24.68</span><span style="color: #ADBAC7">,</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #96D0FF">&quot;Asia&quot;</span><span style="color: #ADBAC7">,          </span><span style="color: #6CB6FF">32.60</span><span style="color: #ADBAC7">, </span><span style="color: #6CB6FF">51.19</span><span style="color: #ADBAC7">,</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #96D0FF">&quot;Europe&quot;</span><span style="color: #ADBAC7">,        </span><span style="color: #6CB6FF">32.84</span><span style="color: #ADBAC7">, </span><span style="color: #6CB6FF">12.91</span><span style="color: #ADBAC7">,</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #96D0FF">&quot;North America&quot;</span><span style="color: #ADBAC7">, </span><span style="color: #6CB6FF">48.93</span><span style="color: #ADBAC7">, </span><span style="color: #6CB6FF">13.79</span><span style="color: #ADBAC7">,</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #96D0FF">&quot;South America&quot;</span><span style="color: #ADBAC7">,  </span><span style="color: #6CB6FF">2.91</span><span style="color: #ADBAC7">,  </span><span style="color: #6CB6FF">3.31</span><span style="color: #ADBAC7">,</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #96D0FF">&quot;Oceania&quot;</span><span style="color: #ADBAC7">,       </span><span style="color: #6CB6FF">58.75</span><span style="color: #ADBAC7">, </span><span style="color: #6CB6FF">39.26</span></span>
<span class="line"><span style="color: #ADBAC7">) </span><span style="color: #F47067">|&gt;</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #6CB6FF">dplyr</span><span style="color: #F47067">::</span><span style="color: #F69D50">mutate</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">pp_difference</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> pct_2024 </span><span style="color: #F47067">-</span><span style="color: #ADBAC7"> pct_1985)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F69D50">ggplot</span><span style="color: #ADBAC7">(coal, </span><span style="color: #F69D50">aes</span><span style="color: #ADBAC7">(pp_difference, continent)) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">geom_col</span><span style="color: #ADBAC7">() </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">geom_text</span><span style="color: #ADBAC7">(</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">aes</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">nudge_x</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">sign</span><span style="color: #ADBAC7">(pp_difference) </span><span style="color: #F47067">*</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">3</span><span style="color: #ADBAC7">, </span></span>
<span class="line"><span style="color: #ADBAC7">        </span><span style="color: #F69D50">label</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> pp_difference)</span></span>
<span class="line"><span style="color: #ADBAC7">  ) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">labs</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">x</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;Change in electricity generated by coal (pp)&quot;</span><span style="color: #ADBAC7">)</span></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#22272e;color:#9eadbd;font-size:12px;line-height:1;position:relative"><a class="cbp-footer-link" href="/r4da" style="color:#9eadbd;text-decoration:none;font-weight:normal;border:none;background:none;border-radius:0;padding:0;margin:0">R</a></span></div>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="632" src="https://d-learn.ir/wp-content/uploads/2025/09/image-22-1024x632.png" alt="image 22 | به‌روزرسانی بسته ggplot2 +تغییرات 4.0" class="wp-image-89375" title="به‌روزرسانی بسته ggplot2 +تغییرات 4.0 15" srcset="https://d-learn.ir/wp-content/uploads/2025/09/image-22-1024x632.png 1024w, https://d-learn.ir/wp-content/uploads/2025/09/image-22-300x185.png 300w, https://d-learn.ir/wp-content/uploads/2025/09/image-22-768x474.png 768w, https://d-learn.ir/wp-content/uploads/2025/09/image-22.png 1344w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">ویژگی دیگر <a href="https://ggplot2.tidyverse.org/reference/position_dodge.html" rel="nofollow noopener" target="_blank"><code>position_dodge()</code></a> است که می‌توان برای مثال در کد زیر، ورزش‌هایی که آماری در هر جنس را ندارند، در نمودار در جای درستی قرار نگرفته‌اند. چرا که ggplot2 درکی از گروه‌های دیگر ندارد. جنسیت‌های مختلف یکی بالای خط و یکی زیر خط قرار دارد.</p>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled" data-code-block-pro-font-family="Code-Pro-Hack" style="font-size:.875rem;font-family:Code-Pro-Hack,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#adbac7;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>sports &lt;- c("water polo", "swimming", "gymnastics", "field", "netball")
p &lt;- ggridges::Aus_athletes |>
  dplyr::filter(sport %in% sports) |>
  ggplot(aes(height, sport, fill = sex)) +
  geom_boxplot(position = position_dodge(preserve = "single"))

p</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki github-dark-dimmed" style="background-color: #22272e" tabindex="0"><code><span class="line"><span style="color: #ADBAC7">sports </span><span style="color: #F47067">&lt;-</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">c</span><span style="color: #ADBAC7">(</span><span style="color: #96D0FF">&quot;water polo&quot;</span><span style="color: #ADBAC7">, </span><span style="color: #96D0FF">&quot;swimming&quot;</span><span style="color: #ADBAC7">, </span><span style="color: #96D0FF">&quot;gymnastics&quot;</span><span style="color: #ADBAC7">, </span><span style="color: #96D0FF">&quot;field&quot;</span><span style="color: #ADBAC7">, </span><span style="color: #96D0FF">&quot;netball&quot;</span><span style="color: #ADBAC7">)</span></span>
<span class="line"><span style="color: #ADBAC7">p </span><span style="color: #F47067">&lt;-</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">ggridges</span><span style="color: #F47067">::</span><span style="color: #ADBAC7">Aus_athletes </span><span style="color: #F47067">|&gt;</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #6CB6FF">dplyr</span><span style="color: #F47067">::</span><span style="color: #6CB6FF">filter</span><span style="color: #ADBAC7">(sport </span><span style="color: #F47067">%in%</span><span style="color: #ADBAC7"> sports) </span><span style="color: #F47067">|&gt;</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">ggplot</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">aes</span><span style="color: #ADBAC7">(height, sport, </span><span style="color: #F69D50">fill</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> sex)) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">geom_boxplot</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">position</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">position_dodge</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">preserve</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;single&quot;</span><span style="color: #ADBAC7">))</span></span>
<span class="line"></span>
<span class="line"><span style="color: #ADBAC7">p</span></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#22272e;color:#9eadbd;font-size:12px;line-height:1;position:relative">R</span></div>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="632" src="https://d-learn.ir/wp-content/uploads/2025/09/image-9-1024x632.png" alt="image 9 | به‌روزرسانی بسته ggplot2 +تغییرات 4.0" class="wp-image-89358" title="به‌روزرسانی بسته ggplot2 +تغییرات 4.0 16" srcset="https://d-learn.ir/wp-content/uploads/2025/09/image-9-1024x632.png 1024w, https://d-learn.ir/wp-content/uploads/2025/09/image-9-300x185.png 300w, https://d-learn.ir/wp-content/uploads/2025/09/image-9-768x474.png 768w, https://d-learn.ir/wp-content/uploads/2025/09/image-9.png 1344w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">برای حل این مساله الا می‌توانید در <a href="https://ggplot2.tidyverse.org/reference/position_dodge.html" rel="nofollow noopener" target="_blank"><code>position_dodge()</code></a>.  از order استفاده کرد.</p>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled" data-code-block-pro-font-family="Code-Pro-Hack" style="font-size:.875rem;font-family:Code-Pro-Hack,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#adbac7;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>p + aes(order = sex)</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki github-dark-dimmed" style="background-color: #22272e" tabindex="0"><code><span class="line"><span style="color: #ADBAC7">p </span><span style="color: #F47067">+</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">aes</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">order</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> sex)</span></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#22272e;color:#9eadbd;font-size:12px;line-height:1;position:relative"><a class="cbp-footer-link" href="/r4da" style="color:#9eadbd;text-decoration:none;font-weight:normal;border:none;background:none;border-radius:0;padding:0;margin:0" target="_blank" rel="noopener noreferrer">R</a></span></div>



<figure class="wp-block-image"><img decoding="async" src="https://www.tidyverse.org/blog/2025/09/ggplot2-4-0-0/figs/unnamed-chunk-22-1.png" alt="Image 6" title="به‌روزرسانی بسته ggplot2 +تغییرات 4.0 17"></figure>



<h2 class="wp-block-heading">Facets</h2>



<h3 class="wp-block-heading">جهات</h3>



<p class="sm-p wp-block-paragraph">این&nbsp;<a href="https://ggplot2.tidyverse.org/reference/facet_wrap.html" rel="nofollow noopener" target="_blank"><code>تابع facet_wrap()</code></a>&nbsp;دارای دو آرگومان است که طرح بندی را کنترل می کند:&nbsp;<code>dir</code>&nbsp;که می تواند&nbsp;<code>"h"</code>&nbsp;یا&nbsp;<code>"v"</code>&nbsp;باشد و&nbsp;<code>as.table</code>&nbsp;با می تواند&nbsp;<code>TRUE</code>&nbsp;یا&nbsp;<code>FALSE</code>&nbsp;باشد. با هم در مجموع ۴ گزینه طرح بندی را ارائه می‌دادند. در به روزرسانی جدید،  آرگومان <code>dir</code> در <a href="https://ggplot2.tidyverse.org/reference/facet_wrap.html" rel="nofollow noopener" target="_blank"><code>facet_wrap()</code></a> اکنون 8 حالت را با کدهای دو حرفی پشتیبانی می‌کند. گزینه های جدید همه کدهای دو حرفی هستند که از ترکیب&nbsp;<code>t</code>&nbsp;(بالا)،&nbsp;<code>r</code>&nbsp;(راست)،&nbsp;<code>b</code>&nbsp;(پایین) و&nbsp;<code>l</code>&nbsp;(چپ) استفاده می کنند. این ترکیب به شما می گوید که اولین سطح جنبه کجا خواهد بود. هر دو&nbsp;<code>br</code>&nbsp;و&nbsp;<code>rb</code>&nbsp;در پایین سمت راست با اولین جنبه شروع می شوند. سپس ترتیب جهت پر شدن را به شما می گوید، جایی که شروع با&nbsp;<code>b</code>&nbsp;از پایین به بالا پر می شود و با&nbsp;<code>شروع با r</code>&nbsp;از راست به چپ پر می شود.</p>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled" data-code-block-pro-font-family="Code-Pro-Hack" style="font-size:.875rem;font-family:Code-Pro-Hack,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#adbac7;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>p &lt;- ggplot(mpg, aes(displ, hwy)) +
  geom_point()

p1 &lt;- p + 
  facet_wrap(~ vctrs::vec_group_id(class), dir = "br") +
  labs(title = "dir = 'br'")

p2 &lt;- p +
  facet_wrap(~ vctrs::vec_group_id(class), dir = "rb") +
  labs(title = "dir = 'rb'")

p1 | p2</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki github-dark-dimmed" style="background-color: #22272e" tabindex="0"><code><span class="line"><span style="color: #ADBAC7">p </span><span style="color: #F47067">&lt;-</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">ggplot</span><span style="color: #ADBAC7">(mpg, </span><span style="color: #F69D50">aes</span><span style="color: #ADBAC7">(displ, hwy)) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">geom_point</span><span style="color: #ADBAC7">()</span></span>
<span class="line"></span>
<span class="line"><span style="color: #ADBAC7">p1 </span><span style="color: #F47067">&lt;-</span><span style="color: #ADBAC7"> p </span><span style="color: #F47067">+</span><span style="color: #ADBAC7"> </span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">facet_wrap</span><span style="color: #ADBAC7">(</span><span style="color: #F47067">~</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">vctrs</span><span style="color: #F47067">::</span><span style="color: #F69D50">vec_group_id</span><span style="color: #ADBAC7">(class), </span><span style="color: #F69D50">dir</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;br&quot;</span><span style="color: #ADBAC7">) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">labs</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">title</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;dir = &#39;br&#39;&quot;</span><span style="color: #ADBAC7">)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #ADBAC7">p2 </span><span style="color: #F47067">&lt;-</span><span style="color: #ADBAC7"> p </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">facet_wrap</span><span style="color: #ADBAC7">(</span><span style="color: #F47067">~</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">vctrs</span><span style="color: #F47067">::</span><span style="color: #F69D50">vec_group_id</span><span style="color: #ADBAC7">(class), </span><span style="color: #F69D50">dir</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;rb&quot;</span><span style="color: #ADBAC7">) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">labs</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">title</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;dir = &#39;rb&#39;&quot;</span><span style="color: #ADBAC7">)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #ADBAC7">p1 </span><span style="color: #F47067">|</span><span style="color: #ADBAC7"> p2</span></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#22272e;color:#9eadbd;font-size:12px;line-height:1;position:relative">R</span></div>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="632" src="https://d-learn.ir/wp-content/uploads/2025/09/image-10-1024x632.png" alt="image 10 | به‌روزرسانی بسته ggplot2 +تغییرات 4.0" class="wp-image-89359" title="به‌روزرسانی بسته ggplot2 +تغییرات 4.0 18" srcset="https://d-learn.ir/wp-content/uploads/2025/09/image-10-1024x632.png 1024w, https://d-learn.ir/wp-content/uploads/2025/09/image-10-300x185.png 300w, https://d-learn.ir/wp-content/uploads/2025/09/image-10-768x474.png 768w, https://d-learn.ir/wp-content/uploads/2025/09/image-10.png 1344w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">۸ انتخاب پیش رو، به این ترتیب می‌باشد:</p>



<ul class="wp-block-list">
<li><code>"lt"</code>: شروع از بالا-چپ، پر کردن از چپ به راست</li>



<li><code>"tl"</code>: شروع از بالا-چپ، پر کردن از بالا به پایین</li>



<li><code>"lb"</code>: شروع از پایین-چپ، پر کردن از چپ به راست</li>



<li><code>"bl"</code>: شروع از پایین-چپ، پر کردن از پایین به بالا</li>



<li><code>"rt"</code>: شروع از بالا-راست، پر کردن از راست به چپ</li>



<li><code>"tr"</code>: شروع از بالا-راست، پر کردن از بالا به پایین</li>



<li><code>"rb"</code>: شروع از پایین-راست، پر کردن از راست به چپ</li>



<li><code>"br"</code>: شروع از پایین-راست، پر کردن از پایین به بالا</li>
</ul>



<h3 class="wp-block-heading">فضای آزاد</h3>



<p class="sm-p wp-block-paragraph">آرگومان facet_grid(space)  می تواند اطمینان حاصل کند که پنل‌ها متناسب با محدوده داده خود، فضا در اختیار بگیرند و اندازه پنل‌ها را متناسب با محدوده داده تنظیم می‌کند:</p>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled" data-code-block-pro-font-family="Code-Pro-Hack" style="font-size:.875rem;font-family:Code-Pro-Hack,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#adbac7;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>ggplot(penguins, aes(bill_dep, bill_len, colour = species)) +
  geom_point(na.rm = TRUE) +
  facet_wrap(~ island, scales = "free_x", space = "free_x")</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki github-dark-dimmed" style="background-color: #22272e" tabindex="0"><code><span class="line"><span style="color: #F69D50">ggplot</span><span style="color: #ADBAC7">(penguins, </span><span style="color: #F69D50">aes</span><span style="color: #ADBAC7">(bill_dep, bill_len, </span><span style="color: #F69D50">colour</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> species)) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">geom_point</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">na.rm</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">TRUE</span><span style="color: #ADBAC7">) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">facet_wrap</span><span style="color: #ADBAC7">(</span><span style="color: #F47067">~</span><span style="color: #ADBAC7"> island, </span><span style="color: #F69D50">scales</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;free_x&quot;</span><span style="color: #ADBAC7">, </span><span style="color: #F69D50">space</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;free_x&quot;</span><span style="color: #ADBAC7">)</span></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#22272e;color:#9eadbd;font-size:12px;line-height:1;position:relative"><a class="cbp-footer-link" href="/r4da" style="color:#9eadbd;text-decoration:none;font-weight:normal;border:none;background:none;border-radius:0;padding:0;margin:0" target="_blank" rel="noopener noreferrer">R</a></span></div>



<figure class="wp-block-image"><img decoding="async" src="https://www.tidyverse.org/blog/2025/09/ggplot2-4-0-0/figs/unnamed-chunk-24-1.png" alt="Image 7" title="به‌روزرسانی بسته ggplot2 +تغییرات 4.0 19"></figure>



<h3 class="wp-block-heading">چیدمان لایه</h3>



<p class="sm-p wp-block-paragraph">آرگومان <code>layer(layout)</code> برای کنترل نحوه توزیع داده‌ها در پنل‌ها اضافه شده است. موارد زیر برای <a href="https://ggplot2.tidyverse.org/reference/facet_wrap.html" rel="nofollow noopener" target="_blank"><code>facet_wrap()</code></a>&nbsp;و&nbsp;<a href="https://ggplot2.tidyverse.org/reference/facet_grid.html" rel="nofollow noopener" target="_blank"><code>facet_grid()</code></a> </p>



<ul class="wp-block-list">
<li>layout = NULL: پیش‌فرض. استفاده از متغیرهای faceting </li>



<li>layout = &#8220;fixed&#8221; تکرار داده‌ها در تمام پنل‌ها</li>



<li>layout = &lt;integer&gt;: اختصاص داده‌ها به پنل خاص</li>



<li>layout = &#8220;fixed_cols&#8221;: تکرار داده‌ها در ستون</li>



<li>layout = &#8220;fixed_rows&#8221;: تکرار داده‌ها در ردیف</li>
</ul>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled" data-code-block-pro-font-family="Code-Pro-Hack" style="font-size:.875rem;font-family:Code-Pro-Hack,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#adbac7;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>ggplot(penguins, aes(bill_dep, bill_len)) +
  # Repeat within every row
  geom_point(na.rm = TRUE, colour = "grey", layout = "fixed_rows") +
  # Use facetting variables (default)
  geom_point(na.rm = TRUE, layout = NULL) +
  # Pick particular panel
  annotate(
    "text", x = I(0.5), y = I(0.5),
    label = "Panel 6", layout = 6
  ) +
  facet_grid(island ~ species)</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki github-dark-dimmed" style="background-color: #22272e" tabindex="0"><code><span class="line"><span style="color: #F69D50">ggplot</span><span style="color: #ADBAC7">(penguins, </span><span style="color: #F69D50">aes</span><span style="color: #ADBAC7">(bill_dep, bill_len)) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #768390"># Repeat within every row</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">geom_point</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">na.rm</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">TRUE</span><span style="color: #ADBAC7">, </span><span style="color: #F69D50">colour</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;grey&quot;</span><span style="color: #ADBAC7">, </span><span style="color: #F69D50">layout</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;fixed_rows&quot;</span><span style="color: #ADBAC7">) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #768390"># Use facetting variables (default)</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">geom_point</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">na.rm</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">TRUE</span><span style="color: #ADBAC7">, </span><span style="color: #F69D50">layout</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">NULL</span><span style="color: #ADBAC7">) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #768390"># Pick particular panel</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">annotate</span><span style="color: #ADBAC7">(</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #96D0FF">&quot;text&quot;</span><span style="color: #ADBAC7">, </span><span style="color: #F69D50">x</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">I</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">0.5</span><span style="color: #ADBAC7">), </span><span style="color: #F69D50">y</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">I</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">0.5</span><span style="color: #ADBAC7">),</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">label</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;Panel 6&quot;</span><span style="color: #ADBAC7">, </span><span style="color: #F69D50">layout</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">6</span></span>
<span class="line"><span style="color: #ADBAC7">  ) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">facet_grid</span><span style="color: #ADBAC7">(island </span><span style="color: #F47067">~</span><span style="color: #ADBAC7"> species)</span></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#22272e;color:#9eadbd;font-size:12px;line-height:1;position:relative"><a class="cbp-footer-link" href="/r4da" style="color:#9eadbd;text-decoration:none;font-weight:normal;border:none;background:none;border-radius:0;padding:0;margin:0" target="_blank" rel="noopener noreferrer">R</a></span></div>



<figure class="wp-block-image"><img decoding="async" src="https://www.tidyverse.org/blog/2025/09/ggplot2-4-0-0/figs/unnamed-chunk-25-1.png" alt="Image 8" title="به‌روزرسانی بسته ggplot2 +تغییرات 4.0 20"></figure>



<h2 class="wp-block-heading">به‌روزرسانی‌های ظاهری</h2>



<h3 class="wp-block-heading">Boxplot</h3>



<p class="sm-p wp-block-paragraph">امکان استایل‌دهی جداگانه اجزای boxplot (خط میانه، جعبه، خطوط (Wisker)و Staple) اضافه شده است:</p>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled" data-code-block-pro-font-family="Code-Pro-Hack" style="font-size:.875rem;font-family:Code-Pro-Hack,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#adbac7;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>ggplot(mpg, aes(class, hwy, colour = class)) +
  geom_boxplot(
    whisker.linetype = "dashed",
    box.colour = "black",
    median.linewidth = 2,
    staplewidth = 0.5, # show staple
    staple.colour = "grey50"
  ) +
  guides(colour = "none")
</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki github-dark-dimmed" style="background-color: #22272e" tabindex="0"><code><span class="line"><span style="color: #F69D50">ggplot</span><span style="color: #ADBAC7">(mpg, </span><span style="color: #F69D50">aes</span><span style="color: #ADBAC7">(class, hwy, </span><span style="color: #F69D50">colour</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> class)) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">geom_boxplot</span><span style="color: #ADBAC7">(</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">whisker.linetype</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;dashed&quot;</span><span style="color: #ADBAC7">,</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">box.colour</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;black&quot;</span><span style="color: #ADBAC7">,</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">median.linewidth</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">2</span><span style="color: #ADBAC7">,</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">staplewidth</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">0.5</span><span style="color: #ADBAC7">, </span><span style="color: #768390"># show staple</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">staple.colour</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;grey50&quot;</span></span>
<span class="line"><span style="color: #ADBAC7">  ) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">guides</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">colour</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;none&quot;</span><span style="color: #ADBAC7">)</span></span>
<span class="line"></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#22272e;color:#9eadbd;font-size:12px;line-height:1;position:relative"><a class="cbp-footer-link" href="/r4da" style="color:#9eadbd;text-decoration:none;font-weight:normal;border:none;background:none;border-radius:0;padding:0;margin:0" target="_blank" rel="noopener noreferrer">R</a></span></div>



<figure class="wp-block-image"><img decoding="async" src="https://www.tidyverse.org/blog/2025/09/ggplot2-4-0-0/figs/unnamed-chunk-26-1.png" alt="Image 9" title="به‌روزرسانی بسته ggplot2 +تغییرات 4.0 21"></figure>



<p class="sm-p wp-block-paragraph">آرگومان <code>fatten</code> منسوخ شده و جایگزین‌های <code>median.linewidth</code> و <code>middle.linewidth</code> معرفی شده‌اند.</p>



<h3 class="wp-block-heading">ویولن و چارک‌ها</h3>



<p class="sm-p wp-block-paragraph">محاسبه چارک‌ها اکنون بر اساس داده‌های اصلی انجام می‌شود (نه داده‌های چگالی). به طور پیش فرض، چارک‌ها 25، 50 و 75 هستند و همیشه محاسبه می‌شوند. برای نمایش چارک‌ها، از آرگومان‌های <code>quantile.colour</code>، <code>quantile.linetype</code> و <code>quantile.linewidth</code> استفاده می‌شود. به طور پیش‌فرض <code>quantile.linetype = 0</code> (بدون خط) است.</p>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled" data-code-block-pro-font-family="Code-Pro-Hack" style="font-size:.875rem;font-family:Code-Pro-Hack,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#adbac7;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>ggplot(mpg, aes(class, hwy, fill = class)) +
  geom_violin(
    quantiles = c(0.1, 0.9),
    quantile.linetype = 1
  ) +
  guides(fill = "none")</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki github-dark-dimmed" style="background-color: #22272e" tabindex="0"><code><span class="line"><span style="color: #F69D50">ggplot</span><span style="color: #ADBAC7">(mpg, </span><span style="color: #F69D50">aes</span><span style="color: #ADBAC7">(class, hwy, </span><span style="color: #F69D50">fill</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> class)) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">geom_violin</span><span style="color: #ADBAC7">(</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">quantiles</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">c</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">0.1</span><span style="color: #ADBAC7">, </span><span style="color: #6CB6FF">0.9</span><span style="color: #ADBAC7">),</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">quantile.linetype</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">1</span></span>
<span class="line"><span style="color: #ADBAC7">  ) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">guides</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">fill</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;none&quot;</span><span style="color: #ADBAC7">)</span></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#22272e;color:#9eadbd;font-size:12px;line-height:1;position:relative">R</span></div>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="632" src="https://d-learn.ir/wp-content/uploads/2025/09/image-11-1024x632.png" alt="image 11 | به‌روزرسانی بسته ggplot2 +تغییرات 4.0" class="wp-image-89360" title="به‌روزرسانی بسته ggplot2 +تغییرات 4.0 22" srcset="https://d-learn.ir/wp-content/uploads/2025/09/image-11-1024x632.png 1024w, https://d-learn.ir/wp-content/uploads/2025/09/image-11-300x185.png 300w, https://d-learn.ir/wp-content/uploads/2025/09/image-11-768x474.png 768w, https://d-learn.ir/wp-content/uploads/2025/09/image-11.png 1344w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading">برچسب‌ها</h3>



<p class="sm-p wp-block-paragraph"><a href="https://ggplot2.tidyverse.org/reference/geom_text.html" rel="nofollow noopener" target="_blank"><code>geom_label()</code></a> اکنون زیبایی‌شناسی‌های <code>linetype</code> و <code>linewidth</code> و آرگومان‌های <code>border.colour</code> و <code>text.colour</code> را پشتیبانی می‌کند.</p>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled" data-code-block-pro-font-family="Code-Pro-Hack" style="font-size:.875rem;font-family:Code-Pro-Hack,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#adbac7;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>ggplot(mtcars) +
  aes(
    wt, mpg,
    label = rownames(mtcars),
    colour = factor(cyl),
    linetype = factor(vs),
    linewidth = factor(am)
  ) +
  geom_label(text.colour = "black") +
  scale_linewidth_manual(values = c(0.3, 0.6))</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki github-dark-dimmed" style="background-color: #22272e" tabindex="0"><code><span class="line"><span style="color: #F69D50">ggplot</span><span style="color: #ADBAC7">(mtcars) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">aes</span><span style="color: #ADBAC7">(</span></span>
<span class="line"><span style="color: #ADBAC7">    wt, mpg,</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">label</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">rownames</span><span style="color: #ADBAC7">(mtcars),</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">colour</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">factor</span><span style="color: #ADBAC7">(cyl),</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">linetype</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">factor</span><span style="color: #ADBAC7">(vs),</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">linewidth</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">factor</span><span style="color: #ADBAC7">(am)</span></span>
<span class="line"><span style="color: #ADBAC7">  ) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">geom_label</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">text.colour</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;black&quot;</span><span style="color: #ADBAC7">) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">scale_linewidth_manual</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">values</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">c</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">0.3</span><span style="color: #ADBAC7">, </span><span style="color: #6CB6FF">0.6</span><span style="color: #ADBAC7">))</span></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#22272e;color:#9eadbd;font-size:12px;line-height:1;position:relative">R</span></div>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="632" src="https://d-learn.ir/wp-content/uploads/2025/09/image-12-1024x632.png" alt="image 12 | به‌روزرسانی بسته ggplot2 +تغییرات 4.0" class="wp-image-89361" title="به‌روزرسانی بسته ggplot2 +تغییرات 4.0 23" srcset="https://d-learn.ir/wp-content/uploads/2025/09/image-12-1024x632.png 1024w, https://d-learn.ir/wp-content/uploads/2025/09/image-12-300x185.png 300w, https://d-learn.ir/wp-content/uploads/2025/09/image-12-768x474.png 768w, https://d-learn.ir/wp-content/uploads/2025/09/image-12.png 1344w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading">مساحت و ریبون‌ها</h3>



<p class="wp-block-paragraph"><a href="https://ggplot2.tidyverse.org/reference/geom_ribbon.html" rel="nofollow noopener" target="_blank"><code>geom_area()</code></a> و <a href="https://ggplot2.tidyverse.org/reference/geom_ribbon.html" rel="nofollow noopener" target="_blank"><code>geom_ribbon()</code></a> اکنون از <code>fill</code> متغیر درون گروه پشتیبانی می‌کنند (نیاز به R 4.1.0+ دارد).</p>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled" data-code-block-pro-font-family="Code-Pro-Hack" style="font-size:.875rem;font-family:Code-Pro-Hack,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#adbac7;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>ggplot(economics, aes(date, unemploy)) +
  geom_area(aes(fill = uempmed))</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki github-dark-dimmed" style="background-color: #22272e" tabindex="0"><code><span class="line"><span style="color: #F69D50">ggplot</span><span style="color: #ADBAC7">(economics, </span><span style="color: #F69D50">aes</span><span style="color: #ADBAC7">(date, unemploy)) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">geom_area</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">aes</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">fill</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> uempmed))</span></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#22272e;color:#9eadbd;font-size:12px;line-height:1;position:relative">R</span></div>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="632" src="https://d-learn.ir/wp-content/uploads/2025/09/image-13-1024x632.png" alt="image 13 | به‌روزرسانی بسته ggplot2 +تغییرات 4.0" class="wp-image-89362" title="به‌روزرسانی بسته ggplot2 +تغییرات 4.0 24" srcset="https://d-learn.ir/wp-content/uploads/2025/09/image-13-1024x632.png 1024w, https://d-learn.ir/wp-content/uploads/2025/09/image-13-300x185.png 300w, https://d-learn.ir/wp-content/uploads/2025/09/image-13-768x474.png 768w, https://d-learn.ir/wp-content/uploads/2025/09/image-13.png 1344w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">آماره‌های جدید</h2>



<h3 class="wp-block-heading">manual</h3>



<p class="sm-p wp-block-paragraph">سیاری از پسوندهای ggplot بر اساس آمار هستند که به شما امکان می دهد محاسبات دلخواه را روی داده ها قبل از تحویل توابع ترسیم انجام دهید.  هم ساخته شده تا <a href="https://ggplot2.tidyverse.org/reference/stat_manual.html" rel="nofollow noopener" target="_blank"><code>stat_manual()</code></a> امکان تعریف آماره سفارشی بدون نیاز به ساخت کلاس رسمی را فراهم می‌کند:</p>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled" data-code-block-pro-font-family="Code-Pro-Hack" style="font-size:.875rem;font-family:Code-Pro-Hack,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#adbac7;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>make_centroids &lt;- function(df) {
  transform(
    df,
    xend = mean(x, na.rm = TRUE),
    yend = mean(y, na.rm = TRUE)
  )
}

make_hull &lt;- function(df) {
  df &lt;- df&#91;complete.cases(df), , drop = FALSE&#93;
  hull &lt;- chull(df$x, df$y)
  df&#91;hull, , drop = FALSE&#93;
}

ggplot(penguins, aes(bill_len, bill_dep, colour = species)) + 
  geom_point(na.rm = TRUE) + 
  # As a stat, provide a geom
  stat_manual(
    geom = "segment", # function creates new xend/yend for segment
    fun = make_centroids,
    linewidth = 0.2,
    na.rm = TRUE
  ) +
  # As a geom, provide the stat
  geom_polygon(
    stat = "manual",
    fun = make_hull,
    fill = NA,
    linetype = "dotted"
  )</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki github-dark-dimmed" style="background-color: #22272e" tabindex="0"><code><span class="line"><span style="color: #DCBDFB">make_centroids</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">&lt;-</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">function</span><span style="color: #ADBAC7">(df) {</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #6CB6FF">transform</span><span style="color: #ADBAC7">(</span></span>
<span class="line"><span style="color: #ADBAC7">    df,</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">xend</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">mean</span><span style="color: #ADBAC7">(x, </span><span style="color: #F69D50">na.rm</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">TRUE</span><span style="color: #ADBAC7">),</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">yend</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">mean</span><span style="color: #ADBAC7">(y, </span><span style="color: #F69D50">na.rm</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">TRUE</span><span style="color: #ADBAC7">)</span></span>
<span class="line"><span style="color: #ADBAC7">  )</span></span>
<span class="line"><span style="color: #ADBAC7">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #DCBDFB">make_hull</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">&lt;-</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">function</span><span style="color: #ADBAC7">(df) {</span></span>
<span class="line"><span style="color: #ADBAC7">  df </span><span style="color: #F47067">&lt;-</span><span style="color: #ADBAC7"> df&#91;</span><span style="color: #6CB6FF">complete.cases</span><span style="color: #ADBAC7">(df), , </span><span style="color: #F69D50">drop</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">FALSE</span><span style="color: #ADBAC7">&#93;</span></span>
<span class="line"><span style="color: #ADBAC7">  hull </span><span style="color: #F47067">&lt;-</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">chull</span><span style="color: #ADBAC7">(df</span><span style="color: #F47067">$</span><span style="color: #ADBAC7">x, df</span><span style="color: #F47067">$</span><span style="color: #ADBAC7">y)</span></span>
<span class="line"><span style="color: #ADBAC7">  df&#91;hull, , </span><span style="color: #F69D50">drop</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">FALSE</span><span style="color: #ADBAC7">&#93;</span></span>
<span class="line"><span style="color: #ADBAC7">}</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F69D50">ggplot</span><span style="color: #ADBAC7">(penguins, </span><span style="color: #F69D50">aes</span><span style="color: #ADBAC7">(bill_len, bill_dep, </span><span style="color: #F69D50">colour</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> species)) </span><span style="color: #F47067">+</span><span style="color: #ADBAC7"> </span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">geom_point</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">na.rm</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">TRUE</span><span style="color: #ADBAC7">) </span><span style="color: #F47067">+</span><span style="color: #ADBAC7"> </span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #768390"># As a stat, provide a geom</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">stat_manual</span><span style="color: #ADBAC7">(</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">geom</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;segment&quot;</span><span style="color: #ADBAC7">, </span><span style="color: #768390"># function creates new xend/yend for segment</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">fun</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> make_centroids,</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">linewidth</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">0.2</span><span style="color: #ADBAC7">,</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">na.rm</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">TRUE</span></span>
<span class="line"><span style="color: #ADBAC7">  ) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #768390"># As a geom, provide the stat</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">geom_polygon</span><span style="color: #ADBAC7">(</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">stat</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;manual&quot;</span><span style="color: #ADBAC7">,</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">fun</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> make_hull,</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">fill</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">NA</span><span style="color: #ADBAC7">,</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">linetype</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;dotted&quot;</span></span>
<span class="line"><span style="color: #ADBAC7">  )</span></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#22272e;color:#9eadbd;font-size:12px;line-height:1;position:relative"><a class="cbp-footer-link" href="/r4da" style="color:#9eadbd;text-decoration:none;font-weight:normal;border:none;background:none;border-radius:0;padding:0;margin:0" target="_blank" rel="noopener noreferrer">R</a></span></div>



<figure class="wp-block-image"><img decoding="async" src="https://www.tidyverse.org/blog/2025/09/ggplot2-4-0-0/figs/unnamed-chunk-30-1.png" alt="Image 10" title="به‌روزرسانی بسته ggplot2 +تغییرات 4.0 25"></figure>



<h3 class="wp-block-heading">Connection</h3>



<p class="sm-p wp-block-paragraph"><a href="https://ggplot2.tidyverse.org/reference/stat_connect.html" target="_blank" rel="noreferrer noopener nofollow"><code>stat_connect()</code></a> امکان ایجاد اتصالات پله‌ای یا سفارشی بین نقاط را فراهم می‌کند:</p>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled" data-code-block-pro-font-family="Code-Pro-Hack" style="font-size:.875rem;font-family:Code-Pro-Hack,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#adbac7;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>eco &lt;- economics |>
  dplyr::mutate(year = lubridate::year(date)) |>
  dplyr::summarise(
    min = min(unemploy),
    max = max(unemploy),
    mid = median(unemploy),
    .by = year
  )

ggplot(eco, aes(year, y = mid, ymin = min, ymax = max)) +
  geom_line(stat = "connect") +
  geom_ribbon(stat = "connect", alpha = 0.4)
</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki github-dark-dimmed" style="background-color: #22272e" tabindex="0"><code><span class="line"><span style="color: #ADBAC7">eco </span><span style="color: #F47067">&lt;-</span><span style="color: #ADBAC7"> economics </span><span style="color: #F47067">|&gt;</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #6CB6FF">dplyr</span><span style="color: #F47067">::</span><span style="color: #F69D50">mutate</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">year</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">lubridate</span><span style="color: #F47067">::</span><span style="color: #F69D50">year</span><span style="color: #ADBAC7">(date)) </span><span style="color: #F47067">|&gt;</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #6CB6FF">dplyr</span><span style="color: #F47067">::</span><span style="color: #F69D50">summarise</span><span style="color: #ADBAC7">(</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">min</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">min</span><span style="color: #ADBAC7">(unemploy),</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">max</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">max</span><span style="color: #ADBAC7">(unemploy),</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">mid</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">median</span><span style="color: #ADBAC7">(unemploy),</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">.by</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> year</span></span>
<span class="line"><span style="color: #ADBAC7">  )</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F69D50">ggplot</span><span style="color: #ADBAC7">(eco, </span><span style="color: #F69D50">aes</span><span style="color: #ADBAC7">(year, </span><span style="color: #F69D50">y</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> mid, </span><span style="color: #F69D50">ymin</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> min, </span><span style="color: #F69D50">ymax</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> max)) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">geom_line</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">stat</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;connect&quot;</span><span style="color: #ADBAC7">) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">geom_ribbon</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">stat</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;connect&quot;</span><span style="color: #ADBAC7">, </span><span style="color: #F69D50">alpha</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">0.4</span><span style="color: #ADBAC7">)</span></span>
<span class="line"></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#22272e;color:#9eadbd;font-size:12px;line-height:1;position:relative"><a class="cbp-footer-link" href="/r4da" style="color:#9eadbd;text-decoration:none;font-weight:normal;border:none;background:none;border-radius:0;padding:0;margin:0" target="_blank" rel="noopener noreferrer">R</a></span></div>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="632" src="https://d-learn.ir/wp-content/uploads/2025/09/image-14-1024x632.png" alt="image 14 | به‌روزرسانی بسته ggplot2 +تغییرات 4.0" class="wp-image-89363" title="به‌روزرسانی بسته ggplot2 +تغییرات 4.0 26" srcset="https://d-learn.ir/wp-content/uploads/2025/09/image-14-1024x632.png 1024w, https://d-learn.ir/wp-content/uploads/2025/09/image-14-300x185.png 300w, https://d-learn.ir/wp-content/uploads/2025/09/image-14-768x474.png 768w, https://d-learn.ir/wp-content/uploads/2025/09/image-14.png 1344w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="sm-p wp-block-paragraph">همچنین می‌توانید از یک ماتریس عددی 2 ستونی برای ترسیم انواع دیگر اتصالات استفاده کنید. به عنوان مثال اگر از&nbsp;<a href="https://rdrr.io/r/stats/Logistic.html" rel="nofollow noopener" target="_blank"><code>plogis()</code></a>&nbsp;برای ایجاد یک انتقال لجستیک، می توانیم اتصالات مانندی ‌نمودار Bump ایجاد کنید.</p>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled" data-code-block-pro-font-family="Code-Pro-Hack" style="font-size:.875rem;font-family:Code-Pro-Hack,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#adbac7;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>x &lt;- seq(0, 1, length.out = 20)&#91;-1&#93;
smooth &lt;- cbind(x, scales::rescale(plogis(x, location = 0.5, scale = 0.1)))
zigzag &lt;- cbind(c(0.4, 0.6, 1), c(0.75, 0.25, 1))

ggplot(head(eco, 10), aes(year, y = mid)) +
  geom_point() +
  stat_connect(aes(colour = "smooth"), connection = smooth) +
  stat_connect(aes(colour = "zigzag"), connection = zigzag)</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki github-dark-dimmed" style="background-color: #22272e" tabindex="0"><code><span class="line"><span style="color: #ADBAC7">x </span><span style="color: #F47067">&lt;-</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">seq</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">0</span><span style="color: #ADBAC7">, </span><span style="color: #6CB6FF">1</span><span style="color: #ADBAC7">, </span><span style="color: #F69D50">length.out</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">20</span><span style="color: #ADBAC7">)&#91;</span><span style="color: #F47067">-</span><span style="color: #6CB6FF">1</span><span style="color: #ADBAC7">&#93;</span></span>
<span class="line"><span style="color: #ADBAC7">smooth </span><span style="color: #F47067">&lt;-</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">cbind</span><span style="color: #ADBAC7">(x, </span><span style="color: #6CB6FF">scales</span><span style="color: #F47067">::</span><span style="color: #F69D50">rescale</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">plogis</span><span style="color: #ADBAC7">(x, </span><span style="color: #F69D50">location</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">0.5</span><span style="color: #ADBAC7">, </span><span style="color: #F69D50">scale</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">0.1</span><span style="color: #ADBAC7">)))</span></span>
<span class="line"><span style="color: #ADBAC7">zigzag </span><span style="color: #F47067">&lt;-</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">cbind</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">c</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">0.4</span><span style="color: #ADBAC7">, </span><span style="color: #6CB6FF">0.6</span><span style="color: #ADBAC7">, </span><span style="color: #6CB6FF">1</span><span style="color: #ADBAC7">), </span><span style="color: #6CB6FF">c</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">0.75</span><span style="color: #ADBAC7">, </span><span style="color: #6CB6FF">0.25</span><span style="color: #ADBAC7">, </span><span style="color: #6CB6FF">1</span><span style="color: #ADBAC7">))</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F69D50">ggplot</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">head</span><span style="color: #ADBAC7">(eco, </span><span style="color: #6CB6FF">10</span><span style="color: #ADBAC7">), </span><span style="color: #F69D50">aes</span><span style="color: #ADBAC7">(year, </span><span style="color: #F69D50">y</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> mid)) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">geom_point</span><span style="color: #ADBAC7">() </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">stat_connect</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">aes</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">colour</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;smooth&quot;</span><span style="color: #ADBAC7">), </span><span style="color: #F69D50">connection</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> smooth) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">stat_connect</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">aes</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">colour</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;zigzag&quot;</span><span style="color: #ADBAC7">), </span><span style="color: #F69D50">connection</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> zigzag)</span></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#22272e;color:#9eadbd;font-size:12px;line-height:1;position:relative">R</span></div>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="632" src="https://d-learn.ir/wp-content/uploads/2025/09/image-15-1024x632.png" alt="image 15 | به‌روزرسانی بسته ggplot2 +تغییرات 4.0" class="wp-image-89364" title="به‌روزرسانی بسته ggplot2 +تغییرات 4.0 27" srcset="https://d-learn.ir/wp-content/uploads/2025/09/image-15-1024x632.png 1024w, https://d-learn.ir/wp-content/uploads/2025/09/image-15-300x185.png 300w, https://d-learn.ir/wp-content/uploads/2025/09/image-15-768x474.png 768w, https://d-learn.ir/wp-content/uploads/2025/09/image-15.png 1344w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">معکوس‌سازی مختصات</h2>



<p class="sm-p wp-block-paragraph">تبدیل کردن معکوس که پیش‌از این با محدودیت‌هایی روبرو بوده، یا برای مثال در مقیاس‌های گسسته پشتیبانی نمی‌شده الان با reverse امکان‌پذیر شده‌است. آرگومان <code>reverse</code> برای سیستم‌های مختصات (coords) اضافه شده است که معکوس‌سازی محورها را ساده‌تر می‌کند.  این آرگومان می‌تواند &nbsp;<code>"none"</code>، <code>"x"</code>، <code>"y"</code>&nbsp;یا&nbsp;<code>"xy"</code> باشد.  در <a href="https://ggplot2.tidyverse.org/reference/coord_radial.html" rel="nofollow noopener" target="_blank"><code>coord_radial()</code></a>، این آرگومان جایگزین <code>direction</code> شده است.</p>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled" data-code-block-pro-font-family="Code-Pro-Hack" style="font-size:.875rem;font-family:Code-Pro-Hack,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#adbac7;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>world &lt;- sf::st_as_sf(maps::map('world', plot = FALSE, fill = TRUE))

ggplot(world) +
  geom_sf() +
  coord_sf(reverse = "y")</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki github-dark-dimmed" style="background-color: #22272e" tabindex="0"><code><span class="line"><span style="color: #ADBAC7">world </span><span style="color: #F47067">&lt;-</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">sf</span><span style="color: #F47067">::</span><span style="color: #F69D50">st_as_sf</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">maps</span><span style="color: #F47067">::</span><span style="color: #F69D50">map</span><span style="color: #ADBAC7">(</span><span style="color: #96D0FF">&#39;world&#39;</span><span style="color: #ADBAC7">, </span><span style="color: #F69D50">plot</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">FALSE</span><span style="color: #ADBAC7">, </span><span style="color: #F69D50">fill</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">TRUE</span><span style="color: #ADBAC7">))</span></span>
<span class="line"></span>
<span class="line"><span style="color: #F69D50">ggplot</span><span style="color: #ADBAC7">(world) </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">geom_sf</span><span style="color: #ADBAC7">() </span><span style="color: #F47067">+</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">coord_sf</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">reverse</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;y&quot;</span><span style="color: #ADBAC7">)</span></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#22272e;color:#9eadbd;font-size:12px;line-height:1;position:relative">R</span></div>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="632" src="https://d-learn.ir/wp-content/uploads/2025/09/image-16-1024x632.png" alt="image 16 | به‌روزرسانی بسته ggplot2 +تغییرات 4.0" class="wp-image-89365" title="به‌روزرسانی بسته ggplot2 +تغییرات 4.0 28" srcset="https://d-learn.ir/wp-content/uploads/2025/09/image-16-1024x632.png 1024w, https://d-learn.ir/wp-content/uploads/2025/09/image-16-300x185.png 300w, https://d-learn.ir/wp-content/uploads/2025/09/image-16-768x474.png 768w, https://d-learn.ir/wp-content/uploads/2025/09/image-16.png 1344w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">امکانات برای افزونه‌ها</h2>



<h3 class="wp-block-heading">لایه‌ها</h3>



<p class="wp-block-paragraph">تابع <a href="https://ggplot2.tidyverse.org/reference/gg_par.html" rel="nofollow noopener" target="_blank"><code>gg_par()</code></a> برای تبدیل تنظیمات <code>ggplot2</code> به تنظیمات <code>grid</code> معرفی شده است:</p>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled" data-code-block-pro-font-family="Code-Pro-Hack" style="font-size:.875rem;font-family:Code-Pro-Hack,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#adbac7;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>gg_par(lwd = 5)
#> $lwd
#> &#91;1&#93; 14.22638
grid::convertUnit(unit(5, "mm"), "pt")
#> &#91;1&#93; 14.2263779527559points</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki github-dark-dimmed" style="background-color: #22272e" tabindex="0"><code><span class="line"><span style="color: #F69D50">gg_par</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">lwd</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">5</span><span style="color: #ADBAC7">)</span></span>
<span class="line"><span style="color: #768390">#&gt; $lwd</span></span>
<span class="line"><span style="color: #768390">#&gt; &#91;1&#93; 14.22638</span></span>
<span class="line"><span style="color: #6CB6FF">grid</span><span style="color: #F47067">::</span><span style="color: #F69D50">convertUnit</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">unit</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">5</span><span style="color: #ADBAC7">, </span><span style="color: #96D0FF">&quot;mm&quot;</span><span style="color: #ADBAC7">), </span><span style="color: #96D0FF">&quot;pt&quot;</span><span style="color: #ADBAC7">)</span></span>
<span class="line"><span style="color: #768390">#&gt; &#91;1&#93; 14.2263779527559points</span></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#22272e;color:#9eadbd;font-size:12px;line-height:1;position:relative"><a class="cbp-footer-link" href="/r4da" style="color:#9eadbd;text-decoration:none;font-weight:normal;border:none;background:none;border-radius:0;padding:0;margin:0" target="_blank" rel="noopener noreferrer">R</a></span></div>



<p class="wp-block-paragraph"><a href="https://ggplot2.tidyverse.org/reference/make_constructor.html" rel="nofollow noopener" target="_blank"><code>make_constructor()</code></a> تولید سازنده‌های خودکار برای کلاس‌های <code>Geom*</code> و <code>Stat*</code> را ساده می‌کند. </p>



<h3 class="wp-block-heading">تم‌ها</h3>



<p class="sm-p wp-block-paragraph"><a href="https://ggplot2.tidyverse.org/reference/complete_theme.html" rel="nofollow noopener" target="_blank"><code>complete_theme()</code></a> برای تکمیل و اعتبارسنجی تم‌ها معرفی شده است. عناصر تم جدید <code>element_point</code> و <code>element_polygon</code> برای استفاده در افزونه‌ها اضافه شده‌اند. این  موارد در تنظیمات پایه ggplot2 استفاده نمی‌شوند.</p>



<div class="wp-block-kevinbatdorf-code-block-pro padding-bottom-disabled" data-code-block-pro-font-family="Code-Pro-Hack" style="font-size:.875rem;font-family:Code-Pro-Hack,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span role="button" tabindex="0" style="color:#adbac7;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly># Let's say your package 'my_pkg' registers custom point/polygon elements
register_theme_elements(
  my_pkg_point = element_point(colour = "red"),
  my_pkg_polygon = element_polygon(fill = NA),
  element_tree = list(
    my_pkg_point = el_def(element_point, inherit = "point"),
    my_pkg_polygon = el_def(element_polygon, inherit = "polygon")
  )
)

# Which should inherit from the root point/polygon theme elements
my_theme &lt;- theme(
  point = element_point(shape = 17),
  polygon = element_polygon(linetype = "dotted")
) |>
  complete_theme()

# Rendering your elements
pts &lt;- calc_element("my_pkg_point", my_theme) |>
  element_grob(
    x = c(0.2, 0.5, 0.8),
    y = c(0.8, 0.2, 0.5)
  )
poly &lt;- calc_element("my_pkg_polygon", my_theme) |>
  element_grob(
    x = c(0.1, 0.5, 0.9),
    y = c(0.9, 0.1, 0.5)
  )

# Drawing the elements
grid::grid.newpage()
grid::grid.draw(pts)
grid::grid.draw(poly)
</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki github-dark-dimmed" style="background-color: #22272e" tabindex="0"><code><span class="line"><span style="color: #768390"># Let&#39;s say your package &#39;my_pkg&#39; registers custom point/polygon elements</span></span>
<span class="line"><span style="color: #F69D50">register_theme_elements</span><span style="color: #ADBAC7">(</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">my_pkg_point</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">element_point</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">colour</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;red&quot;</span><span style="color: #ADBAC7">),</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">my_pkg_polygon</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">element_polygon</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">fill</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">NA</span><span style="color: #ADBAC7">),</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">element_tree</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">list</span><span style="color: #ADBAC7">(</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">my_pkg_point</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">el_def</span><span style="color: #ADBAC7">(element_point, </span><span style="color: #F69D50">inherit</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;point&quot;</span><span style="color: #ADBAC7">),</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">my_pkg_polygon</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">el_def</span><span style="color: #ADBAC7">(element_polygon, </span><span style="color: #F69D50">inherit</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;polygon&quot;</span><span style="color: #ADBAC7">)</span></span>
<span class="line"><span style="color: #ADBAC7">  )</span></span>
<span class="line"><span style="color: #ADBAC7">)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #768390"># Which should inherit from the root point/polygon theme elements</span></span>
<span class="line"><span style="color: #ADBAC7">my_theme </span><span style="color: #F47067">&lt;-</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">theme</span><span style="color: #ADBAC7">(</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">point</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">element_point</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">shape</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">17</span><span style="color: #ADBAC7">),</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">polygon</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">element_polygon</span><span style="color: #ADBAC7">(</span><span style="color: #F69D50">linetype</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #96D0FF">&quot;dotted&quot;</span><span style="color: #ADBAC7">)</span></span>
<span class="line"><span style="color: #ADBAC7">) </span><span style="color: #F47067">|&gt;</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">complete_theme</span><span style="color: #ADBAC7">()</span></span>
<span class="line"></span>
<span class="line"><span style="color: #768390"># Rendering your elements</span></span>
<span class="line"><span style="color: #ADBAC7">pts </span><span style="color: #F47067">&lt;-</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">calc_element</span><span style="color: #ADBAC7">(</span><span style="color: #96D0FF">&quot;my_pkg_point&quot;</span><span style="color: #ADBAC7">, my_theme) </span><span style="color: #F47067">|&gt;</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">element_grob</span><span style="color: #ADBAC7">(</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">x</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">c</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">0.2</span><span style="color: #ADBAC7">, </span><span style="color: #6CB6FF">0.5</span><span style="color: #ADBAC7">, </span><span style="color: #6CB6FF">0.8</span><span style="color: #ADBAC7">),</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">y</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">c</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">0.8</span><span style="color: #ADBAC7">, </span><span style="color: #6CB6FF">0.2</span><span style="color: #ADBAC7">, </span><span style="color: #6CB6FF">0.5</span><span style="color: #ADBAC7">)</span></span>
<span class="line"><span style="color: #ADBAC7">  )</span></span>
<span class="line"><span style="color: #ADBAC7">poly </span><span style="color: #F47067">&lt;-</span><span style="color: #ADBAC7"> </span><span style="color: #F69D50">calc_element</span><span style="color: #ADBAC7">(</span><span style="color: #96D0FF">&quot;my_pkg_polygon&quot;</span><span style="color: #ADBAC7">, my_theme) </span><span style="color: #F47067">|&gt;</span></span>
<span class="line"><span style="color: #ADBAC7">  </span><span style="color: #F69D50">element_grob</span><span style="color: #ADBAC7">(</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">x</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">c</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">0.1</span><span style="color: #ADBAC7">, </span><span style="color: #6CB6FF">0.5</span><span style="color: #ADBAC7">, </span><span style="color: #6CB6FF">0.9</span><span style="color: #ADBAC7">),</span></span>
<span class="line"><span style="color: #ADBAC7">    </span><span style="color: #F69D50">y</span><span style="color: #ADBAC7"> </span><span style="color: #F47067">=</span><span style="color: #ADBAC7"> </span><span style="color: #6CB6FF">c</span><span style="color: #ADBAC7">(</span><span style="color: #6CB6FF">0.9</span><span style="color: #ADBAC7">, </span><span style="color: #6CB6FF">0.1</span><span style="color: #ADBAC7">, </span><span style="color: #6CB6FF">0.5</span><span style="color: #ADBAC7">)</span></span>
<span class="line"><span style="color: #ADBAC7">  )</span></span>
<span class="line"></span>
<span class="line"><span style="color: #768390"># Drawing the elements</span></span>
<span class="line"><span style="color: #6CB6FF">grid</span><span style="color: #F47067">::</span><span style="color: #F69D50">grid.newpage</span><span style="color: #ADBAC7">()</span></span>
<span class="line"><span style="color: #6CB6FF">grid</span><span style="color: #F47067">::</span><span style="color: #F69D50">grid.draw</span><span style="color: #ADBAC7">(pts)</span></span>
<span class="line"><span style="color: #6CB6FF">grid</span><span style="color: #F47067">::</span><span style="color: #F69D50">grid.draw</span><span style="color: #ADBAC7">(poly)</span></span>
<span class="line"></span></code></pre><span style="display:flex;align-items:flex-end;padding:10px;width:100%;justify-content:flex-end;background-color:#22272e;color:#9eadbd;font-size:12px;line-height:1;position:relative"><a class="cbp-footer-link" href="/r4da" style="color:#9eadbd;text-decoration:none;font-weight:normal;border:none;background:none;border-radius:0;padding:0;margin:0">R</a></span></div>



<figure class="wp-block-image"><img decoding="async" src="https://www.tidyverse.org/blog/2025/09/ggplot2-4-0-0/figs/unnamed-chunk-38-1.png" alt="Image 12" title="به‌روزرسانی بسته ggplot2 +تغییرات 4.0 29"></figure>



<p class="wp-block-paragraph"></p>


<ol class="sm-p wp-block-footnotes"><li id="be200d24-f1c7-449a-8b5a-dee54b75bfe5">این نوشته، ترجمه‌ای است آزاد از معرفی این نسخه در وبلاگ <a href="https://www.tidyverse.org/blog/2025/09/ggplot2-4-0-0/" data-type="link" data-id="https://www.tidyverse.org/blog/2025/09/ggplot2-4-0-0/" target="_blank" rel="noreferrer noopener nofollow">Tidyverse</a>. کدها و نمودارها از همین لینک برداشته شده است. <a href="#be200d24-f1c7-449a-8b5a-dee54b75bfe5-link" aria-label="رفتن به مرجع پاورقی 1"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/21a9.png" alt="↩" class="wp-smiley" style="height: 1em; max-height: 1em;" />︎</a></li></ol>


<p class="wp-block-paragraph"></p>
<p>The post <a rel="nofollow" href="https://d-learn.ir/ggplot2-4-update/">به‌روزرسانی بسته ggplot۲ +تغییرات ۴.۰</a> appeared first on <a rel="nofollow" href="https://d-learn.ir">مدرسه پردازش و تحلیل داده دقیقه</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://d-learn.ir/ggplot2-4-update/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>پانداس (Pandas) چیست؟</title>
		<link>https://d-learn.ir/what-is-pandas/</link>
					<comments>https://d-learn.ir/what-is-pandas/#comments</comments>
		
		<dc:creator><![CDATA[علیرضا چمن‌زار]]></dc:creator>
		<pubDate>Sat, 08 Mar 2025 15:28:20 +0000</pubDate>
				<category><![CDATA[جعبه‌ابزار]]></category>
		<category><![CDATA[pandas]]></category>
		<category><![CDATA[pandas tutorial]]></category>
		<category><![CDATA[pandas پایتون]]></category>
		<category><![CDATA[pandas چیست]]></category>
		<category><![CDATA[pandas در پایتون]]></category>
		<category><![CDATA[What is Pandas]]></category>
		<category><![CDATA[پانداس پایتون]]></category>
		<category><![CDATA[پانداس چیست]]></category>
		<category><![CDATA[پانداس در پایتون چیست]]></category>
		<category><![CDATA[پایتون]]></category>
		<category><![CDATA[تحلیل داده با پایتون]]></category>
		<category><![CDATA[کار با pandas]]></category>
		<category><![CDATA[کار با پانداس]]></category>
		<guid isPermaLink="false">https://d-learn.ir/?p=77259</guid>

					<description><![CDATA[<p>پانداس کتابخانه‌ متن‌باز پایتون است که با بیش از ۱۰۰ میلیون دانلود در ماه، محبوب‌ترین ابزار برای پردازش و تحلیل اکتشافی داده‌ها محسوب می‌شود. قابلیت خواندن و نوشتن در فرمت‌های متنوع، آن را به ابزاری قدرتمند و انعطاف‌پذیر برای متخصصان علوم داده تبدیل کرده است. همچنین، توابع پردازش داده‌ی آن، pandas را به ابزاری کاربردی [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://d-learn.ir/what-is-pandas/">پانداس (Pandas) چیست؟</a> appeared first on <a rel="nofollow" href="https://d-learn.ir">مدرسه پردازش و تحلیل داده دقیقه</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="77259" class="elementor elementor-77259" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-8317a37 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="8317a37" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c3021a4" data-id="c3021a4" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-397afc7 elementor-widget elementor-widget-text-editor" data-id="397afc7" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p data-sourcepos="4:1-4:96"><span style="font-family: var( --e-global-typography-text-font-family ), Sahel; font-weight: var( --e-global-typography-text-font-weight ); font-size: 1em;">پانداس کتابخانه‌ متن‌باز پایتون است که با بیش از ۱۰۰ میلیون دانلود در ماه، محبوب‌ترین ابزار برای پردازش و تحلیل اکتشافی داده‌ها محسوب می‌شود. قابلیت خواندن و نوشتن در فرمت‌های متنوع، آن را به ابزاری قدرتمند و انعطاف‌پذیر برای متخصصان علوم داده تبدیل کرده است. همچنین، توابع پردازش داده‌ی آن، pandas را به ابزاری کاربردی برای تجمیع، تحلیل و پاک‌سازی داده‌ها تبدیل می‌کند.</span><span style="font-family: var( --e-global-typography-text-font-family ), Sahel; font-weight: var( --e-global-typography-text-font-weight ); font-size: 1em;"> پانداس در واقع افزونه‌ای برای پردازش و دستکاری داده‌های جدولی </span><span style="font-family: var( --e-global-typography-text-font-family ), Sahel; font-weight: var( --e-global-typography-text-font-weight ); font-size: 1em;">در پایتون </span><span style="font-family: var( --e-global-typography-text-font-family ), Sahel; font-size: 1em; font-weight: var( --e-global-typography-text-font-weight );">است که کارهایی مانند بارگذاری، هم‌ترازی، ادغام و تبدیل مجموعه‌داده‌ها را به طور کارآمد پیاده‌سازی می‌کند.</span></p><p data-sourcepos="11:1-11:321">محبوبیت <a href="https://d-learn.ir/pyps/">پانداس</a> به عنوان یک ابزار تحلیل داده را می‌توان به تطبیق‌پذیری و عملکرد کارآمد آن نسبت داد. نام &#8220;<a href="https://d-learn.ir/pyps/">Pandas</a>&#8221; از عبارت &#8220;panel data&#8221; (داده‌های پانلی) گرفته شده است که به مجموعه‌ داده‌هایی اشاره دارد که چندین دوره زمانی را در بر می‌گیرند و بر تمرکز آن بر ساختارهای داده‌ایِ همه‌کاره  ایست که مدیریت مجموعه‌داده‌های واقعی را راحت می‌کند.</p><p style="direction: rtl;" data-sourcepos="13:1-13:619">با پشتیبانی از انواع فرمت‌های ساختاریافته داده‌ها مانند جداول، ماتریس‌ها و سری‌های زمانی، پانداس ابزارهایی را برای پردازش مجموعه‌داده‌های نامرتب یا خام و تبدیل آن به فرمت‌های تمیز،  ساختاریافته و آماده برای تحلیل ارائه می‌دهد. برای دستیابی به عملکرد بالا، عملیات‌های محاسباتی سنگین با استفاده از C یا Cython در کد منبع پشتیبان پیاده‌سازی شده‌اند. همچنین کتابخانه پانداس با سایر ابزارهای علمی و کتابخانه‌های تحلیل داده پایتون ادغام می‌شود.</p><p data-sourcepos="13:1-13:619">کتابخانه pandas به‌صورت ذاتی از چند رشته‌ای(multi-threading) پشتیبانی نمی‌کند، که این موضوع می‌تواند توانایی آن را در بهره‌گیری از پردازنده‌های چند هسته‌ای مدرن و پردازش مجموعه داده‌های بزرگ به‌طور کارآمد محدود کند. با این حال، کتابخانه‌ها و افزونه‌های جدید در اکوسیستم پایتون می‌توانند به رفع این محدودیت کمک کنند.</p><div class="flex max-w-full flex-col flex-grow"><div class="min-h-8 text-message relative flex w-full flex-col items-end gap-2 whitespace-normal break-words text-start [.text-message+&amp;]:mt-5" dir="auto" data-message-author-role="assistant" data-message-id="b1aa3fd9-ad8e-4f90-b000-8033a98fb983" data-message-model-slug="gpt-4o"><div class="flex w-full flex-col gap-1 empty:hidden first:pt-[3px]"><div class="markdown prose w-full break-words dark:prose-invert light"><p data-start="324" data-end="423" data-is-last-node="" data-is-only-node="">کتابخانه <strong data-start="333" data-end="343">pandas</strong> با سایر ابزارهای علمی در اکوسیستم گسترده‌ی تحلیل داده در پایتون یکپارچه</p></div></div></div></div>								</div>
				</div>
				<div class="elementor-element elementor-element-9b96fd0 elementor-widget elementor-widget-table-of-contents" data-id="9b96fd0" data-element_type="widget" data-e-type="widget" data-settings="{&quot;headings_by_tags&quot;:[&quot;h2&quot;,&quot;h3&quot;,&quot;h4&quot;],&quot;exclude_headings_by_selector&quot;:[],&quot;marker_view&quot;:&quot;bullets&quot;,&quot;icon&quot;:{&quot;value&quot;:&quot;fas fa-circle&quot;,&quot;library&quot;:&quot;fa-solid&quot;},&quot;no_headings_message&quot;:&quot;No headings were found on this page.&quot;,&quot;hierarchical_view&quot;:&quot;yes&quot;,&quot;min_height&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;min_height_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;min_height_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}" data-widget_type="table-of-contents.default">
				<div class="elementor-widget-container">
									<div class="elementor-toc__header">
						<h2 class="elementor-toc__header-title">
				دسترسی سریع			</h2>
								</div>
				<div id="elementor-toc__9b96fd0" class="elementor-toc__body">
			<div class="elementor-toc__spinner-container">
				<i class="elementor-toc__spinner eicon-animation-spin eicon-loading" aria-hidden="true"></i>			</div>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-16c0755 elementor-widget elementor-widget-text-editor" data-id="16c0755" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p style="direction: rtl;" data-sourcepos="20:1-20:430">در هسته کتابخانه پانداس، ساختار داده‌ای DataFrame برای مدیریت داده‌های جدولی و آماری قرار دارد. DataFrame پانداس یک جدول دو بعدی و آرایه‌مانند است که هر ستون مقادیر یک متغیر خاص را نشان می‌دهد و هر ردیف مجموعه‌ای از مقادیر متناظر با آن متغیرها را در خود جای می‌دهد. داده‌های ذخیره شده در DataFrame می‌توانند شامل انواع عددی، دسته‌ای یا متنی باشند و پانداس را قادر می‌سازند تا مجموعه‌داده‌های متنوع را دستکاری و پردازش کند.</p><p style="direction: rtl;" data-sourcepos="22:1-22:241">پانداس وارد کردن (import) و صادر کردن (Export) مجموعه‌داده‌ها را از قالب‌های مختلف فایل مانند CSV، SQL و صفحات گسترده تسهیل می‌کند. این عملیات، همراه با قابلیت‌های دستکاری داده آن، پانداس را قادر می‌سازد تا داده‌های جدولی و آماری را تمیز کند، آنها را به شکل و فرمت مورد نیاز درآورد و تحلیل کند.</p><p style="direction: rtl;" data-sourcepos="24:1-24:266">در نهایت، DataFrame به عنوان ستون فقرات پانداس عمل می‌کند و کاربران را قادر می‌سازد تا مجموعه‌داده‌های ساختاریافته را به طور کارآمد مدیریت و تحلیل کنند، از وارد کردن و صادر کردن داده‌های خام گرفته تا انجام وظایف پیشرفته دستکاری داده برای یادگیری ماشین و فراتر از آن.</p><p><img loading="lazy" decoding="async" class="size-full wp-image-77265 aligncenter" src="https://d-learn.ir/wp-content/uploads/2025/02/data-frame.webp" alt="data frame | پانداس (Pandas) چیست؟" width="406" height="296" title="پانداس (Pandas) چیست؟ 36" srcset="https://d-learn.ir/wp-content/uploads/2025/02/data-frame.webp 406w, https://d-learn.ir/wp-content/uploads/2025/02/data-frame-300x219.webp 300w" sizes="auto, (max-width: 406px) 100vw, 406px" /></p><p style="direction: rtl;" data-sourcepos="26:1-26:122">پانداس امکان وارد کردن و صادر کردن داده‌های جدولی را در قالب‌های مختلف مانند CSV، SQL و فایل‌های صفحه گسترده فراهم می‌کند.</p><p data-sourcepos="26:1-26:122">  <a href="https://d-learn.ir/wp-content/uploads/2025/02/pandas-tabular-data.webp"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-77268" src="https://d-learn.ir/wp-content/uploads/2025/02/pandas-tabular-data.webp" alt="pandas tabular data | پانداس (Pandas) چیست؟" width="837" height="226" title="پانداس (Pandas) چیست؟ 37" srcset="https://d-learn.ir/wp-content/uploads/2025/02/pandas-tabular-data.webp 837w, https://d-learn.ir/wp-content/uploads/2025/02/pandas-tabular-data-300x81.webp 300w, https://d-learn.ir/wp-content/uploads/2025/02/pandas-tabular-data-768x207.webp 768w" sizes="auto, (max-width: 837px) 100vw, 837px" /></a></p><p style="direction: rtl;" data-sourcepos="28:1-28:207">پانداس همچنین امکان انجام عملیات مختلف دستکاری داده و ویژگی‌های پاکسازی داده، از جمله انتخاب زیرمجموعه، ایجاد ستون‌های مشتق شده، مرتب‌سازی، پیوستن، پر کردن، جایگزینی، خلاصه  آماری و نمودارسازی را فراهم می‌کند.</p><p data-sourcepos="28:1-28:207"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-77266" src="https://d-learn.ir/wp-content/uploads/2025/02/pandas-data-manipulation.webp" alt="pandas data manipulation | پانداس (Pandas) چیست؟" width="1227" height="339" title="پانداس (Pandas) چیست؟ 38" srcset="https://d-learn.ir/wp-content/uploads/2025/02/pandas-data-manipulation.webp 1227w, https://d-learn.ir/wp-content/uploads/2025/02/pandas-data-manipulation-300x83.webp 300w, https://d-learn.ir/wp-content/uploads/2025/02/pandas-data-manipulation-1024x283.webp 1024w, https://d-learn.ir/wp-content/uploads/2025/02/pandas-data-manipulation-768x212.webp 768w" sizes="auto, (max-width: 1227px) 100vw, 1227px" /></p><p data-sourcepos="28:1-28:207"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-77267" src="https://d-learn.ir/wp-content/uploads/2025/02/data-manipulation-plotting.webp" alt="data manipulation plotting | پانداس (Pandas) چیست؟" width="791" height="225" title="پانداس (Pandas) چیست؟ 39" srcset="https://d-learn.ir/wp-content/uploads/2025/02/data-manipulation-plotting.webp 791w, https://d-learn.ir/wp-content/uploads/2025/02/data-manipulation-plotting-300x85.webp 300w, https://d-learn.ir/wp-content/uploads/2025/02/data-manipulation-plotting-768x218.webp 768w" sizes="auto, (max-width: 791px) 100vw, 791px" /></p><p style="direction: rtl;" data-sourcepos="30:1-30:150">به گفته  <a href="https://pypi.org/" target="_blank" rel="nofollow noopener">PyPI</a> &#8211; مخزن پکیج‌های  پایتون &#8211; پانداس برای کار با انواع مختلف داده مناسب است، از جمله:</p><ul data-sourcepos="32:1-36:0"><li data-sourcepos="32:1-32:67">داده‌های جدولی با ستون‌های ناهمگن، مانند جدول SQL یا صفحه گسترده.</li><li data-sourcepos="33:1-33:59">داده‌های سری زمانی مرتب و نامرتب (لزوماً با فرکانس ثابت).</li><li data-sourcepos="34:1-34:68">داده‌های ماتریسی دلخواه (همگن یا ناهمگن) با برچسب‌های ردیف و ستون.</li><li data-sourcepos="35:1-36:0">هر شکل دیگری از مجموعه‌داده‌های مشاهداتی/آماری. داده‌ها در واقع نیازی به برچسب‌گذاری ندارند تا در یک ساختار داده‌ای پانداس قرار گیرند.</li></ul><div><a href="/pyps"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-77545" src="https://d-learn.ir/wp-content/uploads/2025/03/panas.gif" alt="panas | پانداس (Pandas) چیست؟" width="1000" height="200" title="پانداس (Pandas) چیست؟ 40"></a></div><h2 data-sourcepos="37:1-38:18">مزایای پانداس چیست؟</h2><p data-sourcepos="40:1-40:172">کتابخانه پانداس مزایای متعددی را برای متخصصان علوم داده و توسعه‌دهندگان ارائه می‌دهد و آن را به ابزاری ارزشمند برای تحلیل و دستکاری داده تبدیل می‌کند. مزایای کلیدی عبارتند از:</p><ul data-sourcepos="42:1-52:0"><li data-sourcepos="42:1-42:173"><strong>ساخته شده برای پایتون</strong>:  پایتون محبوب‌ترین زبان برنامه‌نویسی در حوزه یادگیری ماشین و علوم داده است.</li><li data-start="250" data-end="400"><strong data-start="252" data-end="282">کد کوتاه‌تر برای هر عملیات:</strong> کدهای نوشته‌شده با pandas نسبت به روش‌های سنتی کوتاه‌تر هستند و برای دستیابی به خروجی مطلوب، خطوط کمتری نیاز دارند.</li><li data-sourcepos="42:1-42:173"><strong data-start="524" data-end="552">طیف گسترده‌ای از ویژگی‌ها:</strong> این کتابخانه طیف وسیعی از اقدامات مختلف را پشتیبانی می‌کند، از تحلیل اکتشافی داده (EDA) گرفته تا مدیریت مقادیر گمشده، محاسبات آماری، مصورسازی داده‌های تک‌متغیره و دومتغیره و بسیاری موارد دیگر.</li><li data-sourcepos="42:1-42:173"><strong data-start="751" data-end="776">مدیریت داده‌های حجیم:</strong> pandas قادر است مجموعه داده‌های بزرگ را به‌راحتی پردازش کند. این کتابخانه بسته به قدرت سخت‌افزار، داده‌هایی با میلیون‌ها رکورد و صدها ستون را با سرعت و کارایی بالا مدیریت می‌کند.</li></ul><div> </div><h3>ویژگی‌های کاربردی</h3><p>می‌توان لیست بلندی از کاربردهای پانداس فهرست کرد. بخشی از این موارد در ادامه آمده است.</p><ul data-sourcepos="42:1-52:0"><li data-sourcepos="42:1-42:173"><strong>مدیریت داده‌های گمشده (NaN):</strong> پانداس کار با مجموعه‌داده‌های حاوی داده‌های گمشده، که به عنوان NaN نشان داده می‌شوند، چه داده‌ها عددی باشند و چه غیر عددی، را ساده می‌کند.</li><li data-sourcepos="43:1-43:166"><strong>عملکرد GroupBy:</strong> پانداس عملیات GroupBy کارآمد را فراهم می‌کند و کاربران را قادر می‌سازد تا گردش‌های کاری تقسیم-اعمال-ترکیب را برای تجمیع و تبدیل داده انجام دهند.</li><li data-sourcepos="44:1-44:116"><strong>تغییر اندازه DataFrame:</strong> ستون‌ها را می‌توان به DataFrame یا ساختارهای داده‌ای با ابعاد بالاتر اضافه یا حذف کرد.</li><li data-sourcepos="45:1-45:169"><strong>هم‌ترازی خودکار و صریح داده:</strong> پانداس با هم‌تراز کردن خودکار اشیاء مانند Series و DataFrames به برچسب‌هایشان، هم‌ترازی داده را تضمین می‌کند و محاسبات را ساده می‌کند.</li><li data-sourcepos="46:1-46:224"><strong>مستندات کامل:</strong> رابط برنامه‌نویسی (API) کاربردی ساده‌شده و ویژگی‌های کاملاً مستند شده، منحنی یادگیری پانداس را کاهش می‌دهند. آموزش‌های کوتاه و ساده و نمونه‌های کد، کاربران جدید را قادر می‌سازند تا به سرعت شروع به کدنویسی کنند.</li><li data-sourcepos="47:1-47:131"><strong>ابزارهای ورودی/خروجی:</strong> پانداس از وارد کردن و صادر کردن داده‌ها در قالب‌های مختلف مانند CSV، Excel، SQL و HDF5 پشتیبانی می‌کند.</li><li data-sourcepos="48:1-48:112"><strong>مجموعه‌داده‌های آماده برای مصورسازی:</strong> پانداس تجسم ساده‌ای دارد که می‌تواند مستقیماً از شیء DataFrame ترسیم شود.</li><li data-sourcepos="49:1-49:173"><strong>Pivot و un-Pivot بی‌دردسر:</strong> پانداس تغییر ساختار جدول یا همان تبدیل به پیووت و برعکس را آسان می‌کند تا داده‌ها برای تحلیل یا مصورسازی آماده شوند.</li><li data-sourcepos="50:1-50:179"><strong>برچسب‌گذاری سلسله مراتبی:</strong> پانداس از نمایه سازی سلسله مراتبی پشتیبانی می‌کند و کاربران را قادر می‌سازد تا ساختارهای داده‌ای چند سطحی را در یک DataFrame واحد مدیریت کنند.</li><li data-sourcepos="51:1-52:0"><strong>عملکرد سری زمانی:</strong> پانداس شامل چندین تابع تحلیل سری زمانی است که ابزارهایی برای تولید محدوده تاریخ، تبدیل فرکانس، محاسبات پنجره متحرک و تحلیل تاخیر ارائه می‌دهد.</li></ul><div> </div><h2 data-sourcepos="53:1-54:32">کاربردهای پانداس در عمل</h2><p data-sourcepos="56:1-56:280">همانطور که آمار دانلود PyPI نشان می‌دهد، پانداس به ابزاری محبوب برای متخصصان علوم داده و تحلیلگران تبدیل شده است و مدیریت کارآمد مجموعه‌داده‌ها را در صنایع مختلف امکان‌پذیر می‌کند. قابلیت‌های آن برای تحلیل و دستکاری داده، آن را به انتخابی برتر برای حل مسائل دنیای واقعی تبدیل می‌کند.</p><ol data-sourcepos="58:1-65:169"><li data-sourcepos="58:1-59:335"><strong>ادغام با SQL و تحلیل داده‌های آن<br /></strong>پانداس با پایگاه‌های داده SQL ادغام می‌شود و کاربران را قادر می‌سازد تا مستقیماً در رابط برنامه‌نویسی پایتون پانداس از جداول SQL بخوانند و در آنها بنویسند. با وارد کردن مستقیم داده‌ها به DataFrame، کاربران می‌توانند از پانداس برای تحلیل داده استفاده کنند در حالی که SQL را برای کوئری زدن و مدیریت مجموعه‌داده‌ها حفظ می‌کنند.</li><li data-sourcepos="60:1-61:328"><strong>مصورسازی و بینش<br /></strong>توانایی پانداس در تمیز کردن، فیلتر کردن و تبدیل داده‌های جدولی تضمین می‌کند که مجموعه‌داده‌ها برای نمودارسازی و کتابخانه‌های ترسیم پیشرفته مانند Matplotlib و Seaborn آماده هستند. به عنوان مثال، پانداس می‌تواند داده‌های گمشده را مدیریت کند و داده‌های سری زمانی را برای یافتن روندها و بینش‌های معنادار قالب‌بندی کند.</li><li data-sourcepos="62:1-63:218"><strong>تحلیل سری زمانی<br /></strong> پانداس توابع سری زمانی متعددی برای وظایفی مانند تحلیل قیمت سهام، الگوهای آب‌و‌هوا و خواندن حسگرهای IoT دارد. عملکرد آن شامل تولید محدوده تاریخ، تبدیل فرکانس و عملیات‌های تغییر پیشرفته برای مجموعه‌داده‌های زمانی است.</li><li data-sourcepos="62:1-63:218"><p data-sourcepos="1:1-1:26"><strong>دستکاری پیچیده داده‌ها<br /></strong>وظایفی مانند merge، Join یا الحاق چند DataFrame با پانداس بسیار ساده است. متد concat، همراه با ابزارهایی مانند pandas append، امکان ترکیب منابع داده ناهمگون را فراهم می‌کند. این کتابخانه همچنین قابلیت GroupBy را برای تجمیع و تبدیل داده‌ها ارائه می‌دهد و از تکنیک‌های پیشرفته تقسیم-اعمال-ترکیب پشتیبانی می‌کند.</p></li><li data-sourcepos="62:1-63:218"><p data-sourcepos="1:1-1:26"><strong>تبدیل داده‌های جدولی<br /></strong>پانداس تبدیل داده‌های جدولی را با ویژگی‌هایی مانند تغییر شکل، تبدیل به پیووت و نمایه‌سازی سلسله مراتبی ساده می‌کند. برای مثال، کاربران می‌توانند مجموعه‌داده‌های خود را برای تحلیل عملکرد فروش در مناطق مختلف تغییر شکل دهند یا جداول محوری را برای دید واضح‌تری از رفتار مشتری ایجاد کنند.</p></li><li data-sourcepos="62:1-63:218"><p data-sourcepos="1:1-1:26"><strong>مدیریت داده‌های گمشده<br /></strong>مدیریت داده‌های گمشده یکی از نقاط قوت اصلی پانداس است. کاربران می توانند مقادیر NaN را در یک DataFrame با مقدار درست پر کنند، آنها را درون‌یابی (interpolate) کنند یا حذف کنند تا در نهایت دیتاست تمیز و کاملی برای تحلیل کردن یا ادغام در خطوط لوله (pipelines)  یادگیری ماشین در اختیار داشته باشند.</p></li></ol><div> </div><h2 class="text-2xl font-bold mt-1 text-text-200">پایتون و پانداس</h2><p class="whitespace-pre-wrap break-words">از آنجا که pandas بر پایه زبان برنامه‌نویسی پایتون ساخته شده، درک قدرت پایتون در علم داده و تحلیل داده‌ها اهمیت زیادی دارد.</p><p class="whitespace-pre-wrap break-words">پایتون که در سال ۱۹۹۱ معرفی شد، به یکی از محبوب‌ترین زبان‌ها در توسعه وب، تحلیل داده و یادگیری ماشین تبدیل شده است. سادگی و خوانایی بالای سینتکس آن، به کاربران تازه‌کار و حرفه‌ای کمک می‌کند تا به‌جای درگیر شدن با پیچیدگی‌های زبان‌های سطح پایین، روی حل مسائل تمرکز کنند. این سادگی با یک اکوسیستم گسترده از کتابخانه‌ها و ابزارهایی مانند pandas، NumPy، Matplotlib و Jupyter تقویت شده است.</p><p class="whitespace-pre-wrap break-words">رابط برنامه‌نویسی (API) پانداس  از این نقاط قوت پایتون بهره می‌برد و قابلیت‌های قدرتمندی برای دستکاری و تحلیل داده ارائه می‌دهد. توابعی مانند روش‌های str برای عملیات متنی و پشتیبانی از توابع lambda ، به کاربران امکان می‌دهد الگوریتم‌های پیشرفته را به‌طور مستقیم در جریان کاری خود پیاده‌سازی کنند. همچنین، سازگاری pandas با سایر کتابخانه‌هایی مانند NumPy باعث می‌شود که محاسبات عددی به‌سادگی در کنار پردازش داده‌های pandas انجام شود.</p><p class="whitespace-pre-wrap break-words">اکوسیستم پایتون امکان ارتباط با سیستم‌ها و سرویس‌های خارجی را از طریق APIها فراهم می‌کند و به همین دلیل pandas می‌تواند به‌راحتی در جریان‌های کاری داده‌ای، چه روی سیستم‌های محلی و چه در محیط‌های ابری، ادغام شود. برای مصورسازی داده‌ها، pandas با کتابخانه‌هایی مانند Matplotlib ترکیب می‌شود و نمودارهای شفاف و کاربردی تولید می‌کند.</p><p class="whitespace-pre-wrap break-words">مستندات رسمی پایتون و pandas منابع ارزشمندی برای یادگیری این زبان و کتابخانه‌های آن محسوب می‌شوند و راهنماهای جامع همراه با نمونه‌کدهای کاربردی ارائه می‌دهند. همراهی این مستندات با ابزارهای تعاملی مانند Jupyter Notebook باعث شده که پایتون به گزینه‌ای محبوب برای توسعه و آزمایش الگوریتم‌های مبتنی بر داده تبدیل شود.</p><p class="whitespace-pre-wrap break-words">با ترکیب انعطاف‌پذیری برنامه‌نویسی پایتون، قدرت کتابخانه‌هایی مانند پانداس و NumPy و ابزارهای تجسم‌سازی مانند Matplotlib، این زبان محیطی یکپارچه برای حل چالش‌های پیچیده داده‌ای فراهم می‌کند.</p><h2>انواع داده (Data Types) در پانداس و پایتون</h2><p class="whitespace-pre-wrap break-words">دیتاتایپ‌ها (Data types) یا به عبارت دقیق‌تر در فارسی &#8220;انواع داده&#8221; یا &#8220;گونه‌های داده&#8221;، از مفاهیم اساسی در برنامه‌نویسی و تحلیل داده هستند. آن‌ها تعیین می‌کنند که داده‌ها چگونه در حافظه ذخیره شوند، چه عملیاتی روی آن‌ها قابل انجام است و چگونه پردازش شوند.</p><p class="whitespace-pre-wrap break-words">کتابخانه پانداس (Pandas) در پایتون، مجموعه‌ای از انواع داده را ارائه می‌دهد که با هدف بهینه‌سازی حافظه، سرعت و کارایی طراحی شده‌اند. این انواع داده برای کار با مجموعه‌های بزرگ داده بسیار مهم هستند، زیرا انتخاب نوع داده مناسب می‌تواند تأثیر قابل توجهی بر عملکرد و مصرف منابع داشته باشد. از سوی دیگر، دیتاتایپ‌های متفاوت پانداس، محدودیت‌های پایتون را نیز پشت سر گذاشته‌ که در جدول زیر می‌توانید آن را ببینید:</p><table class="bg-bg-100 min-w-full border-separate border-spacing-0 text-sm leading-[1.88888] whitespace-normal"><thead class="border-b-border-100/50 border-b-[0.5px] text-left"><tr class="[tbody&gt;&amp;]:odd:bg-bg-500/10"><th class="text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]" style="text-align: center;">انواع داده در پانداس</th><th class="text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]" style="text-align: center;">داده مشابه در پایتون</th><th class="text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]" style="text-align: center;">کاربرد و توضیحات</th></tr></thead><tbody><tr class="[tbody&gt;&amp;]:odd:bg-bg-500/10"><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]" style="text-align: center;"><code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]">object</code></td><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]" style="text-align: center;"><code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]">str</code>, <code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]">object</code></td><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">برای ذخیره‌سازی رشته‌ها، مقادیر مختلط و هر نوع داده‌ای که نوع دیگری ندارد. برای داده‌های متنی و داده‌های ناهمگون استفاده می‌شود.</td></tr><tr class="[tbody&gt;&amp;]:odd:bg-bg-500/10"><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]" style="text-align: center;"><code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]">int64</code></td><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]" style="text-align: center;"><code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]">int</code></td><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">برای ذخیره‌سازی اعداد صحیح استفاده می‌شود. در تحلیل‌های آماری، شمارش تعداد موارد و شاخص‌گذاری کاربرد دارد.</td></tr><tr class="[tbody&gt;&amp;]:odd:bg-bg-500/10"><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]" style="text-align: center;"><code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]">float64</code></td><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]" style="text-align: center;"><code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]">float</code></td><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">برای ذخیره‌سازی اعداد اعشاری با دقت مضاعف. در محاسبات علمی، آماری و مالی که نیاز به دقت اعشاری دارند استفاده می‌شود.</td></tr><tr class="[tbody&gt;&amp;]:odd:bg-bg-500/10"><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]" style="text-align: center;"><code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]">bool</code></td><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]" style="text-align: center;"><code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]">bool</code></td><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">برای ذخیره‌سازی مقادیر منطقی (درست/نادرست). در فیلتر کردن داده‌ها، شرط‌های منطقی و ستون‌های وضعیت کاربرد دارد.</td></tr><tr class="[tbody&gt;&amp;]:odd:bg-bg-500/10"><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]" style="text-align: center;"><code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]">datetime64</code></td><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]" style="text-align: center;"><code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]">datetime.datetime</code></td><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">برای ذخیره‌سازی تاریخ و زمان. در تحلیل‌های زمانی، سری‌های زمانی و گزارش‌گیری بر اساس زمان استفاده می‌شود.</td></tr><tr class="[tbody&gt;&amp;]:odd:bg-bg-500/10"><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]" style="text-align: center;"><code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]">timedelta64</code></td><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]" style="text-align: center;"><code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]">datetime.timedelta</code></td><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">برای نگهداری فاصله‌های زمانی. در محاسبه اختلاف بین دو زمان، اندازه‌گیری مدت زمان فرایندها و محاسبات مربوط به دوره زمانی کاربرد دارد.</td></tr><tr class="[tbody&gt;&amp;]:odd:bg-bg-500/10"><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]" style="text-align: center;"><code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]">category</code></td><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]" style="text-align: center;">&#8211;</td><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">برای داده‌های طبقه‌بندی شده با تعداد مقادیر محدود. این دیتاتایپ حافظه کمتری مصرف می‌کند و در داده‌های نامی (اسمی) مانند جنسیت، وضعیت تأهل و رنگ کاربرد دارد.</td></tr><tr class="[tbody&gt;&amp;]:odd:bg-bg-500/10"><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]" style="text-align: center;"><code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]">string</code></td><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]" style="text-align: center;"><code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]">str</code></td><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">نسخه بهینه‌شده پانداس برای رشته‌ها که با کارایی بهتر نسبت به <code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]">object</code> برای داده‌های متنی کار می‌کند.</td></tr><tr class="[tbody&gt;&amp;]:odd:bg-bg-500/10"><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]" style="text-align: center;"><code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]">Int64</code> (با I بزرگ)</td><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]" style="text-align: center;"><code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]">int</code></td><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">نسخه پیشرفته <code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]">int64</code> که مقادیر <code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]">NaN</code> (داده‌های گمشده) را نیز پشتیبانی می‌کند.</td></tr><tr class="[tbody&gt;&amp;]:odd:bg-bg-500/10"><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]" style="text-align: center;"><code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]">Float64</code> (با F بزرگ)</td><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]" style="text-align: center;"><code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]">float</code></td><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">نسخه پیشرفته <code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]">float64</code> که با داده‌های گمشده سازگارتر است.</td></tr><tr class="[tbody&gt;&amp;]:odd:bg-bg-500/10"><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]" style="text-align: center;"><code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]">complex128</code></td><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]" style="text-align: center;"><code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]">complex</code></td><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">برای اعداد مختلط استفاده می‌شود. در محاسبات مهندسی، پردازش سیگنال و فیزیک کاربرد دارد.</td></tr><tr class="[tbody&gt;&amp;]:odd:bg-bg-500/10"><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]" style="text-align: center;"><code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]">Period</code></td><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]" style="text-align: center;">&#8211;</td><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">برای نمایش دوره‌های زمانی مانند سال، ماه یا روز. در گزارش‌گیری دوره‌ای و تحلیل‌های فصلی استفاده می‌شود.</td></tr><tr class="[tbody&gt;&amp;]:odd:bg-bg-500/10"><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]" style="text-align: center;"><code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]">Interval</code></td><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]" style="text-align: center;">&#8211;</td><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">برای نمایش بازه‌های عددی. در طبقه‌بندی داده‌ها به گروه‌های مشخص و ایجاد هیستوگرام‌ها کاربرد دارد.</td></tr><tr class="[tbody&gt;&amp;]:odd:bg-bg-500/10"><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]" style="text-align: center;"><code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]">Sparse</code></td><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]" style="text-align: center;">&#8211;</td><td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">برای ذخیره‌سازی کارآمد ماتریس‌های تنک (با مقادیر صفر زیاد). در داده‌های بزرگ با مقادیر صفر فراوان مانند ماتریس‌های همبستگی و داده‌های متنی کاربرد دارد.</td></tr></tbody></table><p>پانداس به طور خودکار نوع داده را تشخیص می‌دهد اما گاهی نیاز به تبدیل دستی با متد <code class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.3rem] px-1 py-px text-[0.9rem]">astype()</code> وجود دارد.</p><blockquote class="border-border-200 border-l-4 pl-4"><p class="whitespace-pre-wrap break-words"> </p></blockquote><h2 class="text-2xl font-bold mt-1 text-text-200">چگونه کار با پانداس را شروع کنیم؟</h2><h3 class="text-xl font-bold text-text-200 mt-1 -mb-0.5">نصب پانداس</h3><p class="whitespace-pre-wrap break-words">نصب این کتابخانه ساده است و می‌توانید از دستور pip برای نصب استفاده کنید.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-88cc040 elementor-widget elementor-widget-code-highlight" data-id="88cc040" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-okaidia copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-python ">
				<code readonly="true" class="language-python">
					<xmp>pip install pandas</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-763059b elementor-widget elementor-widget-text-editor" data-id="763059b" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>راه دیگر، نصب آن از طریق conda است:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-f6054b1 elementor-widget elementor-widget-code-highlight" data-id="f6054b1" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-okaidia copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-python ">
				<code readonly="true" class="language-python">
					<xmp>conda install pandas</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-941f667 elementor-widget elementor-widget-text-editor" data-id="941f667" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>راه دیگر، نصب آن از طریق conda است:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-f4b4146 elementor-widget elementor-widget-code-highlight" data-id="f4b4146" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-okaidia copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-python ">
				<code readonly="true" class="language-python">
					<xmp>conda install pandas</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-25330a9 elementor-widget elementor-widget-text-editor" data-id="25330a9" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>پس از نصب Pandas، می‌توانید با بررسی نسخه نصب شده، مطمئن شوید که همه چیز درست کار می‌کند:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-516936b elementor-widget elementor-widget-code-highlight" data-id="516936b" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-okaidia copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-python ">
				<code readonly="true" class="language-python">
					<xmp>import pandas as pd
print(pd.__version__)  # Prints the pandas version</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-fbdc42b elementor-widget elementor-widget-text-editor" data-id="fbdc42b" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>این کد تایید می‌کند که Pandas به درستی نصب شده و به شما امکان می‌دهد که سازگاری با بسته‌های دیگر را بان آن بررسی کنید.</p><h3><strong>ورود داده‌ها به Pandas</strong></h3><p>برای شروع کار باید Pandas  را طبق دستور زیر به محیط پایتون فراخوانی کنید. <code>pd</code> نام مستعار رایجی است که برای این کتابخانه استفاده می‌شود.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-10a609b elementor-widget elementor-widget-code-highlight" data-id="10a609b" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-okaidia copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-python ">
				<code readonly="true" class="language-python">
					<xmp>import pandas as pd</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-450147f elementor-widget elementor-widget-text-editor" data-id="450147f" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><strong>وارد کردن فایل‌های CSV</strong></p><p>با دستور <code>read_csv</code> می‌توانید فایل‌های CSV را به فراخوانی کنید:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-84094d8 elementor-widget elementor-widget-code-highlight" data-id="84094d8" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-okaidia copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-python ">
				<code readonly="true" class="language-python">
					<xmp>df = pd.read_csv("example_data.csv")</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-b699d24 elementor-widget elementor-widget-text-editor" data-id="b699d24" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>این کد فایل‌های CSV را بارگیری می‌کند و آن را یک DataFrame می‌ریزد.</p><p><strong>وارد کردن فایل‌های متنی (Text)</strong></p><p data-start="220" data-end="376">خواندن فایل‌های متنی مشابه خواندن فایل‌های CSV است، با این تفاوت که باید <strong data-start="293" data-end="317">جداکننده (separator)</strong> را مشخص کنید، همان‌طور که در مثال زیر نشان داده شده است. <strong data-start="378" data-end="395">آرگومان <code data-start="388" data-end="393">sep</code></strong> مشخص می‌کند که چه نمادی برای جدا کردن مقادیر در یک <strong data-start="447" data-end="460">DataFrame</strong> استفاده شده است. برخی از رایج‌ترین جداکننده‌ها عبارت‌اند از:</p><ul data-start="524" data-end="669"><li data-start="524" data-end="554"><strong data-start="526" data-end="534">کاما</strong> (<code data-start="536" data-end="539">,</code>) → <code data-start="543" data-end="552">sep=","</code></li><li data-start="555" data-end="604"><strong data-start="557" data-end="571">فاصله سفید</strong> (یک یا چند فاصله) → <code data-start="592" data-end="602">sep="\s"</code></li><li data-start="605" data-end="635"><strong data-start="607" data-end="613">تب</strong> (<code data-start="615" data-end="619">\t</code>) → <code data-start="623" data-end="633">sep="\t"</code></li><li data-start="636" data-end="669"><strong data-start="638" data-end="649">دو نقطه</strong> (<code data-start="651" data-end="654">:</code>) → <code data-start="658" data-end="667">sep=":"</code></li></ul><p data-start="671" data-end="745" data-is-last-node="" data-is-only-node="">در اینجا، <code data-start="681" data-end="685">\s</code> نشان‌دهنده یک <strong data-start="700" data-end="740">کاراکتر فاصله سفید (space character)</strong> است.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-41aa27b elementor-widget elementor-widget-code-highlight" data-id="41aa27b" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-okaidia copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-python ">
				<code readonly="true" class="language-python">
					<xmp>df = pd.read_csv("example_data.txt", sep="\s")</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-c301c9c elementor-widget elementor-widget-text-editor" data-id="c301c9c" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><strong>وارد کردن فایل‌های فایل اکسل (تک شیت)</strong></p><p>خواندن فایل های اکسل (هر دو XLS و XLSX) به آسانی با یک تابع و آدرس‌دهی فایل قابل انجام است: <code>input.read_excel</code></p>								</div>
				</div>
				<div class="elementor-element elementor-element-05cf0b7 elementor-widget elementor-widget-code-highlight" data-id="05cf0b7" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-okaidia copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-python ">
				<code readonly="true" class="language-python">
					<xmp>df = pd.read_excel('example_data.xlsx')</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-d229117 elementor-widget elementor-widget-text-editor" data-id="d229117" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>می‌توانید آرگومان‌های دیگری را نیز مشخص کنید، مانند header برای تعیین اینکه کدام سطر به عنوان هدر (Header) یا نام ستون‌های DataFrame در نظر گرفته شود. مقدار پیش‌فرض این آرگومان <span style="text-decoration: underline;">۰</span> است، که به این معنی است که سطر اول به عنوان نام ستون‌ها استفاده می‌شود. همچنین می‌توانید نام ستون‌ها را به‌صورت یک لیست در آرگومان names مشخص کنید. اگر فایل شامل یک ایندکس ردیفی باشد، می‌توان از آرگومان index_col (که مقدار پیش‌فرض آن <code data-start="449" data-end="455">None</code> است) استفاده کرد.</p><p><strong>نکته</strong>: در pandas، ایندکس (Index) یک شناسه‌ی منحصربه‌فرد است که موقعیت یک سطر یا ستون را در یک DataFrame مشخص می‌کند. به بیان ساده، ایندکس برچسبی برای ردیف‌ها یا ستون‌ها است که به شما اجازه می‌دهد یک سطر یا ستون خاص را با استفاده از ایندکس آن بازیابی کنید (در ادامه بیشتر با این موضوع آشنا خواهید شد).</p><p>ایندکس سطرها در یک DataFrame می‌تواند به شکل‌های مختلفی باشد، از جمله:</p><ul data-start="895" data-end="1095"><li data-start="895" data-end="935">یک بازه عددی (مثلاً از ۰ تا ۳۰۳)</li><li data-start="936" data-end="983">یک سری زمانی (تاریخ یا برچسب‌های زمانی)</li><li data-start="984" data-end="1065">یک شناسه‌ی منحصربه‌فرد (مثلاً در یک جدول اطلاعات کارمندان، <code data-start="1049" data-end="1062">employee_ID</code>)</li><li data-start="1066" data-end="1095">یا انواع دیگر داده‌ها</li></ul><p>برای <strong data-start="1102" data-end="1113">ستون‌ها</strong>، ایندکس معمولاً یک <strong data-start="1133" data-end="1146">رشته متنی</strong> است که نام ستون را مشخص می‌کند.</p><p data-start="1187" data-end="1231"><strong data-start="1191" data-end="1229">وارد کردن فایل‌های اکسل (چند شیتی)</strong></p><p>خواندن فایل‌های Excel که شامل چندین Sheet (برگه) هستند، تفاوت چندانی با فایل‌های دیگر ندارد. تنها تفاوت این است که باید یک آرگومان اضافه به نام <code data-start="1390" data-end="1402">sheet_name</code> را مشخص کنید.</p><ul data-start="1422" data-end="1666" data-is-last-node="" data-is-only-node=""><li data-start="1422" data-end="1528">می‌توانید یک رشته متنی (برای نام برگه) یا یک عدد صحیح (برای موقعیت برگه) به این آرگومان بدهید.</li><li data-start="1529" data-end="1666" data-is-last-node="">نکته: پایتون از ایندکس صفر (۰) استفاده می‌کند، یعنی اولین برگه در فایل Excel را می‌توان با مقدار <code data-start="1640" data-end="1656">sheet_name = 0</code> مشخص کرد.</li></ul>								</div>
				</div>
				<div class="elementor-element elementor-element-799a730 elementor-widget elementor-widget-code-highlight" data-id="799a730" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-okaidia copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-python ">
				<code readonly="true" class="language-python">
					<xmp># Extracting the second sheet since Python uses 0-indexing
df = pd.read_excel('example_data_multi.xlsx', sheet_name=1)</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-844f83d elementor-widget elementor-widget-text-editor" data-id="844f83d" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><strong>وارد کردن داده از پایگاه داده‌های SQL</strong></p><p data-start="662" data-end="810">برای بارگذاری داده از یک پایگاه داده رابطه‌ای (Relational Database)، از <code data-start="740" data-end="755">pd.read_sql</code> همراه با یک اتصال به پایگاه داده استفاده کنید:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-8015b8c elementor-widget elementor-widget-code-highlight" data-id="8015b8c" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-okaidia copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-python ">
				<code readonly="true" class="language-python">
					<xmp>import sqlite3

# Establish a connection to an SQLite database
conn = sqlite3.connect("my_database.db")

# Read data from a table
df = pd.read_sql("SELECT * FROM my_table", conn)</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-be2a43a elementor-widget elementor-widget-text-editor" data-id="be2a43a" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p data-start="958" data-end="1085">نکته: اگر مجموعه داده بسیار بزرگی دارید، توصیه می‌شود از SQLAlchemy برای بهینه‌سازی پرس‌وجوها (queries) استفاده کنید.</p><p data-start="1092" data-end="1138"><strong data-start="1096" data-end="1136">وارد کردن داده از یک API (فرمت JSON)</strong></p><p data-start="1139" data-end="1257">اگر داده‌های شما از یک API تحت وب دریافت می‌شوند، pandas می‌تواند مستقیماً آن را با <code data-start="1229" data-end="1245">pd.read_json</code> بخواند:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-0f22b5b elementor-widget elementor-widget-code-highlight" data-id="0f22b5b" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-okaidia copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-python ">
				<code readonly="true" class="language-python">
					<xmp>df = pd.read_json("https://api.example.com/data.json")</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-9c000ef elementor-widget elementor-widget-text-editor" data-id="9c000ef" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<h3 data-start="3111" data-end="3154"><strong data-start="3114" data-end="3152">خروجی گرفتن از داده‌ها</strong></h3><p>همان‌طور که pandas می‌تواند داده‌ها را از انواع فایل‌ها وارد کند، امکان ذخیره داده‌ها در فرمت‌های مختلف را نیز فراهم می‌کند. این قابلیت زمانی مفید است که داده‌ها پس از پردازش نیاز به ذخیره‌سازی محلی داشته باشند. در ادامه نحوه ذخیره DataFrameها در فرمت‌های مختلف آورده شده است.</p><p><strong>ذخیره یک DataFrame در فایل CSV</strong><br />برای ذخیره یک DataFrame در فایل CSV، از متد <code>to_csv</code> استفاده کنید. این متد نام فایل و مسیر ذخیره را دریافت می‌کند.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-0bda8bf elementor-widget elementor-widget-code-highlight" data-id="0bda8bf" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-okaidia copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-python ">
				<code readonly="true" class="language-python">
					<xmp>df.to_csv("output.csv", index=False)</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-6c10983 elementor-widget elementor-widget-text-editor" data-id="6c10983" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>نکته: آرگومان <code data-start="2133" data-end="2145">index=True</code> تعیین می‌کند که ایندکس‌های DataFrame نیز در فایل CSV ذخیره شوند.</p><p><strong>ذخیره یک DataFrame در فایل متنی (TXT)</strong><br />برای ذخیره یک DataFrame در فایل متنی، مانند CSV، از متد <code><strong>to_csv</strong> </code>استفاده کنید. تنها تفاوت این است که باید فرمت فایل را <code>txt</code> قرار دهید و یک جداکننده (separator) مشخص کنید:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-d50eac5 elementor-widget elementor-widget-code-highlight" data-id="d50eac5" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-okaidia copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-python ">
				<code readonly="true" class="language-python">
					<xmp>df.to_csv("output.txt", sep="\t")</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-abe1018 elementor-widget elementor-widget-text-editor" data-id="abe1018" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p data-start="958" data-end="1085"><strong>ذخیره یک DataFrame در فایل اکسل</strong><br />برای ذخیره DataFrame در یک فایل اکسل، از متد <code>to_excel</code> استفاده کنید. این متد از فرمت‌های <code>xls</code> و <code>xlsx</code> پشتیبانی می‌کند:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-f006268 elementor-widget elementor-widget-code-highlight" data-id="f006268" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-okaidia copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-python ">
				<code readonly="true" class="language-python">
					<xmp>df.to_excel("output.xlsx")</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-f05a97d elementor-widget elementor-widget-text-editor" data-id="f05a97d" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<h3 data-start="3111" data-end="3154"><strong data-start="3114" data-end="3152">مشاهده DataFrameها در pandas</strong></h3><p data-start="3155" data-end="3386">پس از خواندن داده‌های جدولی در قالب <strong data-start="3191" data-end="3204">DataFrame</strong>، ممکن است نیاز داشته باشید یک <strong data-start="3235" data-end="3247">نمای کلی</strong> از داده‌ها داشته باشید. می‌توانید با نمایش <strong data-start="3291" data-end="3323">نمونه‌ای کوچک از مجموعه داده</strong> یا مشاهده خلاصه‌ای از داده‌ها، اطلاعات لازم را به‌دست آورید.</p><p data-start="3388" data-end="3437"><strong data-start="3392" data-end="3435">مشاهده داده‌ها با <code data-start="3412" data-end="3421">.head()</code> و <code data-start="3424" data-end="3433">.tail()</code></strong></p><p data-start="3438" data-end="3657">برای مشاهده چند سطر ابتدایی یا چند سطر انتهایی یک DataFrame، می‌توانید به ترتیب از متدهای <code data-start="3542" data-end="3551">.head()</code> و <code data-start="3558" data-end="3567">.tail()</code> استفاده کنید. تعداد سطرها را می‌توان با آرگومان <code data-start="3618" data-end="3621">n</code> مشخص کرد (مقدار پیش‌فرض <code data-start="3646" data-end="3649">5</code> است).</p>								</div>
				</div>
				<div class="elementor-element elementor-element-8be1445 elementor-widget elementor-widget-code-highlight" data-id="8be1445" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-okaidia copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-python ">
				<code readonly="true" class="language-python">
					<xmp>df.head(10)  # نمایش ۱۰ سطر اول  
df.tail(5)   # نمایش ۵ سطر آخر</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-51cf6c8 elementor-widget elementor-widget-text-editor" data-id="51cf6c8" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><a href="https://d-learn.ir/wp-content/uploads/2025/03/pandas-head.png"><img loading="lazy" decoding="async" class="alignnone wp-image-77534 size-full" src="https://d-learn.ir/wp-content/uploads/2025/03/pandas-head.png" alt="Pandas (df.head())" width="713" height="169" title="پانداس (Pandas) چیست؟ 41" srcset="https://d-learn.ir/wp-content/uploads/2025/03/pandas-head.png 713w, https://d-learn.ir/wp-content/uploads/2025/03/pandas-head-300x71.png 300w" sizes="auto, (max-width: 713px) 100vw, 713px" /></a></p><p>همانطور که در دستورات بالا دیدید، شروع کار با پانداس بسیار ساده و سریع است. تنها با چند خط کد می‌توان آن را نصب کرد، داده‌ها را از فرمت‌های مختلف مانند CSV، اکسل یا پایگاه‌های داده وارد کرد و پس از پردازش، در قالب‌های موردنظر استخراج نمود. از امکانات متنوع این کتابخانه، مانند فیلتر کردن داده‌ها، مرتب‌سازی، ترکیب جداول و تبدیل داده‌ها، می‌توان برای تحلیل‌های پیچیده و مصورسازی استفاده کرد.</p><h2>جمع‌بندی</h2><p data-start="0" data-end="349">پانداس یکی از قدرتمندترین ابزارهای تحلیل داده در پایتون است که به دلیل سادگی، انعطاف‌پذیری و کارایی بالا، به انتخاب اول متخصصان داده، پژوهشگران و حتی مدیران کسب‌وکار تبدیل شده است. این کتابخانه امکان پردازش، تمیزسازی و تحلیل سریع داده‌ها را فراهم می‌کند و در کنار دیگر ابزارهای پایتون، جریان کاری تحلیل داده را به شکل چشمگیری بهبود می‌بخشد.</p><p data-start="351" data-end="681" data-is-last-node="" data-is-only-node="">با توجه به کاربرد گسترده پانداس در صنایع مختلف، از تحلیل مالی و علوم پزشکی گرفته تا یادگیری ماشین و مدیریت کسب‌وکار، تسلط بر آن می‌تواند یک مزیت رقابتی مهم در مسیر حرفه‌ای شما باشد. اگر به دنبال یادگیری عملی این مهارت کلیدی هستید، در دوره‌ای که برگزار می‌کنیم شرکت کنید و با استفاده از پانداس، قدرت داده را در دستان خود بگیرید!</p>								</div>
				</div>
				<div class="elementor-element elementor-element-4432e2f elementor-widget elementor-widget-text-editor" data-id="4432e2f" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<strong>منابع:</strong>
<p style="direction: ltr;"><a href="https://www.nvidia.com/en-gb/glossary/pandas-python/" target="_blank" rel="nofollow noopener">Nvidia</a>: What Is pandas? <br>
<a href="https://www.datacamp.com/tutorial/pandas" target="_blank" rel="nofollow noopener">datacamp</a>: Python pandas Tutorial: The Ultimate Guide for Beginners</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-3f63435 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="3f63435" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6c1fc6c" data-id="6c1fc6c" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-1851025 elementor-cta--skin-classic elementor-animated-content elementor-bg-transform elementor-bg-transform-zoom-in elementor-widget elementor-widget-call-to-action" data-id="1851025" data-element_type="widget" data-e-type="widget" data-widget_type="call-to-action.default">
				<div class="elementor-widget-container">
							<a class="elementor-cta" href="/pyps">
					<div class="elementor-cta__bg-wrapper">
				<div class="elementor-cta__bg elementor-bg" style="background-image: url(https://d-learn.ir/wp-content/uploads/2024/12/pandas-course.webp);" role="img" aria-label="pandas-course"></div>
				<div class="elementor-cta__bg-overlay"></div>
			</div>
							<div class="elementor-cta__content">
				
									<h2 class="elementor-cta__title elementor-cta__content-item elementor-content-item">
						پردازش بهینه با pandas و polars					</h2>
				
									<div class="elementor-cta__description elementor-cta__content-item elementor-content-item">
						آموزش اصولی پانداس، تمیزکاری و پردازش داده‌ها، کار با داده‌های حجیم و  پردازش موازی داده‌ها با polars					</div>
				
									<div class="elementor-cta__button-wrapper elementor-cta__content-item elementor-content-item ">
					<span class="elementor-cta__button elementor-button elementor-size-">
						اطلاعات بیشتر					</span>
					</div>
							</div>
							<div class="elementor-ribbon elementor-ribbon-left">
				<div class="elementor-ribbon-inner">
					دوره آموزشی				</div>
			</div>
				</a>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>The post <a rel="nofollow" href="https://d-learn.ir/what-is-pandas/">پانداس (Pandas) چیست؟</a> appeared first on <a rel="nofollow" href="https://d-learn.ir">مدرسه پردازش و تحلیل داده دقیقه</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://d-learn.ir/what-is-pandas/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>پنج ابزار کاربردی برای تحلیل داده در کسب‌وکار </title>
		<link>https://d-learn.ir/p/tools-for-business-analysis/</link>
					<comments>https://d-learn.ir/p/tools-for-business-analysis/#respond</comments>
		
		<dc:creator><![CDATA[علیرضا چمن‌زار]]></dc:creator>
		<pubDate>Sun, 13 Oct 2024 13:26:38 +0000</pubDate>
				<category><![CDATA[پرانتز]]></category>
		<category><![CDATA[جعبه‌ابزار]]></category>
		<category><![CDATA[Power BI]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[R]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[آموزش تحلیل داده]]></category>
		<category><![CDATA[اس کیو ال]]></category>
		<category><![CDATA[اکسل]]></category>
		<category><![CDATA[بهترین نرم افزار تحلیل داده]]></category>
		<category><![CDATA[بهترین نرم افزار تحلیل داده های آماری]]></category>
		<category><![CDATA[بهترین نرم افزار تحلیل داده های کیفی]]></category>
		<category><![CDATA[پاور بی آی]]></category>
		<category><![CDATA[پایتون]]></category>
		<category><![CDATA[نرم افزار برای تجزیه و تحلیل داده های آماری]]></category>
		<category><![CDATA[نرم افزار تحلیل داده]]></category>
		<guid isPermaLink="false">https://d-learn.ir/?p=71658</guid>

					<description><![CDATA[<p>این یادداشت دو گروه مخاطب دارد؛ گروه اول شرکت‌ها و مدیران شرکتی که به دنبال ایجاد دپارتمان تحلیل داده در مجموعه خود هستند  و گروه دوم افرادی که به دنبال آشنایی و یادگیری هستند که یا در مسیر تحلیل داده قدم بگذارند یا مهارت‌های خود را در این حوزه افزایش دهند.</p>
<p>The post <a rel="nofollow" href="https://d-learn.ir/p/tools-for-business-analysis/">پنج ابزار کاربردی برای تحلیل داده در کسب‌وکار </a> appeared first on <a rel="nofollow" href="https://d-learn.ir">مدرسه پردازش و تحلیل داده دقیقه</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="71658" class="elementor elementor-71658" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-f82fb4a elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="f82fb4a" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4dad165" data-id="4dad165" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-1644a8b elementor-widget elementor-widget-text-editor" data-id="1644a8b" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><span style="font-weight: 400;">در دنیای رقابتی و پرتلاطم کسب و کار، تحلیل داده‌ها به یکی از مهم‌ترین ابزارهای رقابتی تبدیل شده است. شرکت‌هایی که توانایی استخراج بینش‌های ارزشمند از حجم عظیم داده‌های خود را دارند، می‌توانند تصمیمات آگاهانه‌تری اتخاذ کنند، عملکرد خود را بهبود بخشند و در نهایت، مزیت رقابتی قابل توجهی به دست آورند. از بهینه‌سازی زنجیره تأمین گرفته تا پیش‌بینی رفتار مشتریان و شناسایی فرصت‌های جدید بازار، تحلیل داده‌ها در تمام جنبه‌های کسب و کار نقش حیاتی ایفا می‌کند.</span></p><p><span style="font-weight: 400;">با این حال، صرف داشتن داده‌های زیاد کافی نیست. توانایی تبدیل این داده‌ها به اطلاعات قابل اجرا، نیازمند ابزارها و نرم‌افزارهای تخصصی است که می‌توانند حجم عظیمی از داده‌ها را پردازش کرده و الگوها و روندهای پنهان را آشکار سازند. این نرم‌افزارها نه تنها به تحلیلگران داده اجازه می‌دهند تا به سرعت به سؤالات کلیدی کسب و کار پاسخ دهند، بلکه به مدیران نیز امکان می‌دهند تا با استفاده از داشبوردهای تعاملی و گزارش‌های بصری، درک عمیق‌تری از وضعیت کسب و کار خود به دست آورند.</span></p><p><span style="font-weight: 400;">این یادداشت دو گروه مخاطب دارد؛ گروه اول شرکت‌ها و مدیران شرکتی که به دنبال ایجاد دپارتمان تحلیل داده در مجموعه خود هستند  و گروه دوم افرادی که به دنبال آشنایی و یادگیری هستند که یا در مسیر تحلیل داده قدم بگذارند یا مهارت‌های خود را در این حوزه افزایش دهند.</span></p><h3><span style="font-weight: 400;">معرفی نرم‌افزارها و زبان‌های برنامه‌نویسی تحلیل داده</span></h3><h4><img loading="lazy" decoding="async" class="alignnone size-full wp-image-71661" src="https://d-learn.ir/wp-content/uploads/2024/10/Excel.webp" alt="| پنج ابزار کاربردی برای تحلیل داده در کسب‌وکار " width="1920" height="1080" title="پنج ابزار کاربردی برای تحلیل داده در کسب‌وکار  42" srcset="https://d-learn.ir/wp-content/uploads/2024/10/Excel.webp 1920w, https://d-learn.ir/wp-content/uploads/2024/10/Excel-300x169.webp 300w, https://d-learn.ir/wp-content/uploads/2024/10/Excel-1024x576.webp 1024w, https://d-learn.ir/wp-content/uploads/2024/10/Excel-768x432.webp 768w, https://d-learn.ir/wp-content/uploads/2024/10/Excel-1536x864.webp 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></h4><h4><b>۱. مایکروسافت اکسل (Microsoft Excel)</b></h4><p><span style="font-weight: 400;">مایکروسافت اکسل یکی از محبوب‌ترین ابزارها برای مدیریت و تحلیل داده‌هاست. این نرم‌افزار علاوه بر فراهم کردن امکانات پیشرفته برای انجام محاسبات و تحلیل داده، به کاربران اجازه می‌دهد داده‌ها را به صورت گرافیکی نمایش دهند و داشبوردهای تعاملی با آن ایجاد کنند. </span></p><p><b>مزایا</b><span style="font-weight: 400;">:</span></p><ul><li><b>کاربرپسند بودن</b><span style="font-weight: 400;">: فضای کاربری آشنا و کاربردی اکسل برای عموم کاربران</span></li><li><b>رابط کاربری ساده:</b><span style="font-weight: 400;"> Excel دارای رابط کاربری بسیار ساده و قابل درکی است که به کاربران اجازه می‌دهد به راحتی و بدون نیاز به برنامه‌نویسی داده‌ها را تحلیل کنند.</span></li><li><b>فرمول‌ها و توابع متنوع</b><span style="font-weight: 400;">: شامل توابع پیشرفته مالی، آماری و ریاضی.</span></li><li><b>اتوماسیون</b><span style="font-weight: 400;">: قابلیت استفاده از ماکروها برای خودکارسازی وظایف.</span></li><li aria-level="1"><b>یک‌پارچگی: </b><span style="font-weight: 400;">یک‌پارچگی اکسل با دیگر نرم‌افزارهای مجموعه آفیس مثل ورد و پاورپوینت</span></li></ul><ul><li aria-level="1"> </li></ul><p><b>معایب</b><span style="font-weight: 400;">:</span></p><ul><li style="font-weight: 400;" aria-level="1"><b>محدودیت در مدیریت کلان‌داده (Big Data)</b><span style="font-weight: 400;">: در صورت وجود حجم عظیمی از داده‌ها، اکسل دچار کندی می‌شود.</span></li><li style="font-weight: 400;" aria-level="1"><b>خطای انسانی</b><span style="font-weight: 400;">: احتمال خطای کاربری در وارد کردن فرمول‌ها و محاسبات پیچیده</span></li></ul>								</div>
				</div>
				<div class="elementor-element elementor-element-fc65769 elementor-cta--skin-classic elementor-animated-content elementor-bg-transform elementor-bg-transform-zoom-in elementor-widget elementor-widget-call-to-action" data-id="fc65769" data-element_type="widget" data-e-type="widget" data-widget_type="call-to-action.default">
				<div class="elementor-widget-container">
							<a class="elementor-cta" href="/xlsb">
					<div class="elementor-cta__bg-wrapper">
				<div class="elementor-cta__bg elementor-bg" style="background-image: url(https://d-learn.ir/wp-content/uploads/2024/10/Picture2.png);" role="img" aria-label="Picture2"></div>
				<div class="elementor-cta__bg-overlay"></div>
			</div>
							<div class="elementor-cta__content">
				
									<h2 class="elementor-cta__title elementor-cta__content-item elementor-content-item">
						دوره آموزشی اکسل برای تحلیل داده‌های کسب‌وکار					</h2>
				
									<div class="elementor-cta__description elementor-cta__content-item elementor-content-item">
						از ۱ آذر ۱۴۰۳ پنج‌شنبه‌ها۹:۳۰ تا ۱۳
(۶ هفته، ۱۲ جلسه، ۱۸ ساعت)					</div>
				
									<div class="elementor-cta__button-wrapper elementor-cta__content-item elementor-content-item ">
					<span class="elementor-cta__button elementor-button elementor-size-">
						<b>اطلاعات بیشتر</b>					</span>
					</div>
							</div>
							<div class="elementor-ribbon elementor-ribbon-left">
				<div class="elementor-ribbon-inner">
					دوره آموزشی				</div>
			</div>
				</a>
						</div>
				</div>
				<div class="elementor-element elementor-element-5982f2c elementor-widget elementor-widget-text-editor" data-id="5982f2c" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<h4><img loading="lazy" decoding="async" class="alignnone size-full wp-image-71665" src="https://d-learn.ir/wp-content/uploads/2024/10/power-BI.png" alt="power BI | پنج ابزار کاربردی برای تحلیل داده در کسب‌وکار " width="1000" height="563" title="پنج ابزار کاربردی برای تحلیل داده در کسب‌وکار  43" srcset="https://d-learn.ir/wp-content/uploads/2024/10/power-BI.png 1000w, https://d-learn.ir/wp-content/uploads/2024/10/power-BI-300x169.png 300w, https://d-learn.ir/wp-content/uploads/2024/10/power-BI-768x432.png 768w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /></h4><h4><b>۲. مایکروسافت پاور بی‌آی (Microsoft Power BI)</b></h4><p><span style="font-weight: 400;">پاور بی‌آی یکی از قدرتمندترین ابزارهای هوش تجاری است که به کاربران کمک می‌کند داده‌ها را از منابع مختلف جمع‌آوری کرده و به صورت داشبوردهای تعاملی و گزارش‌های تصویری نمایش دهند.</span></p><p><b>مزایا</b><span style="font-weight: 400;">:</span></p><ul><li style="font-weight: 400;" aria-level="1"><b>بصری‌سازی قدرتمند</b><span style="font-weight: 400;">: قابلیت ایجاد نمودارهای پیشرفته و داشبوردهای تعاملی.</span></li><li style="font-weight: 400;" aria-level="1"><b>اتصال به منابع مختلف</b><span style="font-weight: 400;">: امکان اتصال به انواع پایگاه‌های داده و فایل‌ها.</span></li><li style="font-weight: 400;" aria-level="1"><b>ادغام با اکسل و سایر ابزارها</b><span style="font-weight: 400;">: انتقال آسان داده‌ها از اکسل به پاور بی‌آی.</span></li></ul><p><b>معایب</b><span style="font-weight: 400;">:</span></p><ul><li><b>نیاز به دانش فنی </b>: کاربران برای استفاده کامل از تمامی امکانات نیاز به آشنایی با ابزارها دارند.</li><li><b>هزینه</b>: برخی از ویژگی‌های پیشرفته پاور بی‌آی نیاز به خرید نسخه‌های پولی دارد.</li><li aria-level="1"><b>چالش با کلان داده‌ها</b><span style="font-weight: 400;">: در مدیریت با داده‌های بسیار بزرگ، چالش‌‌های خاص خود را دارد.</span></li></ul><div> </div><p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-71662" src="https://d-learn.ir/wp-content/uploads/2024/10/R.jpeg" alt="R | پنج ابزار کاربردی برای تحلیل داده در کسب‌وکار " width="1280" height="720" title="پنج ابزار کاربردی برای تحلیل داده در کسب‌وکار  44" srcset="https://d-learn.ir/wp-content/uploads/2024/10/R.jpeg 1280w, https://d-learn.ir/wp-content/uploads/2024/10/R-300x169.jpeg 300w, https://d-learn.ir/wp-content/uploads/2024/10/R-1024x576.jpeg 1024w, https://d-learn.ir/wp-content/uploads/2024/10/R-768x432.jpeg 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" /></p><h4><b>۳. زبان R</b></h4><p><span style="font-weight: 400;">زبان </span><b>R</b><span style="font-weight: 400;"> یک ابزار قدرتمند و تخصصی برای تحلیل داده‌های آماری و مصورسازی است که به‌ویژه در میان متخصصان علوم داده و تحلیل‌گران آماری بسیار محبوب است. این زبان با داشتن کتابخانه‌های زیاد در حوزه‌های مختلف و جامعه بزرگی از کاربران متعهد در دهه‌ی گذشته همواره به عنوان یکی از کاربردی‌ترین ابزارهای تحلیل داده معرفی شده‌است.</span></p><p><b>مزایا</b><span style="font-weight: 400;">:</span></p><ul><li><b>قدرتمند برای تحلیل داده:</b> یکی از قدرتمندترین زبان‌های برنامه‌نویسی برای تحلیل داده</li><li><b>ابزارهای پیشرفته آماری</b>: مناسب برای تحلیل‌های پیچیده آماری.</li><li><b>کتابخانه‌های گسترده</b>: تعداد زیادی از کتابخانه‌های تخصصی برای انواع تحلیل‌های آمار</li><li aria-level="1"><b>مصورسازی قدرتمند: </b><span style="font-weight: 400;">کتابخانه‌های اختصاصی برای مصورسازی ایستا و پویا در انواع پلتفرم‌ها</span></li></ul><ul><li style="font-weight: 400;" aria-level="1"><b>متن‌باز و رایگان</b><span style="font-weight: 400;">: بدون نیاز به خرید لایسنس.</span></li></ul><p><b>معایب</b><span style="font-weight: 400;">:</span></p><ul><li style="font-weight: 400;" aria-level="1"><b>نیاز به برنامه‌نویسی: </b><span style="font-weight: 400;">به عنوان زبان برنامه‌نویسی نیازمند یادگیری آموزش‌های لازم است.</span></li><li style="font-weight: 400;" aria-level="1"><b>عملکرد پایین در داده‌های بزرگ</b><span style="font-weight: 400;">: در برخی موارد، R در مدیریت داده‌های بسیار بزرگ کارایی پایینی دارد.</span></li></ul><div> </div><p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-71664" src="https://d-learn.ir/wp-content/uploads/2024/10/py.png" alt="py | پنج ابزار کاربردی برای تحلیل داده در کسب‌وکار " width="3840" height="2160" title="پنج ابزار کاربردی برای تحلیل داده در کسب‌وکار  45" srcset="https://d-learn.ir/wp-content/uploads/2024/10/py.png 3840w, https://d-learn.ir/wp-content/uploads/2024/10/py-300x169.png 300w, https://d-learn.ir/wp-content/uploads/2024/10/py-1024x576.png 1024w, https://d-learn.ir/wp-content/uploads/2024/10/py-768x432.png 768w, https://d-learn.ir/wp-content/uploads/2024/10/py-1536x864.png 1536w, https://d-learn.ir/wp-content/uploads/2024/10/py-2048x1152.png 2048w" sizes="auto, (max-width: 3840px) 100vw, 3840px" /></p><h4><b>۴. زبان برنامه‌نویسی پایتون (Python)</b></h4><p><span style="font-weight: 400;">امروزه پایتون یکی از محبوب‌ترین زبان‌های برنامه‌نویسی برای تحلیل داده، یادگیری ماشین و اتوماسیون است. این زبان به دلیل سادگی و قابلیت‌های گسترده، به طور گسترده توسط تحلیل‌گران داده و توسعه‌دهندگان استفاده می‌شود.</span></p><p><b>مزایا</b><span style="font-weight: 400;">:</span></p><ul><li style="font-weight: 400;" aria-level="1"><b>سادگی و قابلیت استفاده</b><span style="font-weight: 400;">: یادگیری آسان برای مبتدیان و مناسب برای تحلیل‌گران حرفه‌ای.</span></li><li style="font-weight: 400;" aria-level="1"><b>کتابخانه‌های غنی</b><span style="font-weight: 400;">: شامل کتابخانه‌هایی مانند pandas، NumPy و matplotlib برای تحلیل و مصورسازی داده‌ها.</span></li><li style="font-weight: 400;" aria-level="1"><b>انعطاف‌پذیری بالا</b><span style="font-weight: 400;">: کاربردهای متنوع پایتون از تحلیل داده تا هوش مصنوعی و برنامه‌نویسی وب و …</span></li></ul><p><b>معایب</b><span style="font-weight: 400;">:</span></p><ul><li style="font-weight: 400;" aria-level="1"><b>نیاز به برنامه‌نویسی: </b><span style="font-weight: 400;">به عنوان زبان برنامه‌نویسی نیازمند یادگیری آموزش‌های لازم است.</span></li><li style="font-weight: 400;" aria-level="1"><b>سرعت پایین‌تر نسبت به زبان‌های دیگر</b><span style="font-weight: 400;">: پایتون ممکن است در برخی پروژه‌های بزرگ کندتر عمل کند.</span></li></ul><div> </div><h4><img loading="lazy" decoding="async" class="alignnone size-full wp-image-71663" src="https://d-learn.ir/wp-content/uploads/2024/10/SQL.jpeg" alt="SQL | پنج ابزار کاربردی برای تحلیل داده در کسب‌وکار " width="1920" height="1080" title="پنج ابزار کاربردی برای تحلیل داده در کسب‌وکار  46" srcset="https://d-learn.ir/wp-content/uploads/2024/10/SQL.jpeg 1920w, https://d-learn.ir/wp-content/uploads/2024/10/SQL-300x169.jpeg 300w, https://d-learn.ir/wp-content/uploads/2024/10/SQL-1024x576.jpeg 1024w, https://d-learn.ir/wp-content/uploads/2024/10/SQL-768x432.jpeg 768w, https://d-learn.ir/wp-content/uploads/2024/10/SQL-1536x864.jpeg 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></h4><h4><b>۵.  SQL</b></h4><p><span style="font-weight: 400;">زبان SQL که مخفف </span><b>Structured Query Language</b><span style="font-weight: 400;"> یکی از پرکاربردترین زبان‌های برنامه‌نویسی برای استخراج و دستکاری داده‌ها از پایگاه‌های داده است. این زبان به ویژه در تحلیل داده بسیار مفید است زیرا به کاربران اجازه می‌دهد تا داده‌ها را به صورت ساختاریافته و کارآمد استخراج کنند. با استفاده از SQL، کاربران می‌توانند پرس‌وجوهای پیچیده‌ای را بر روی داده‌ها اجرا کنند و اطلاعات مفیدی برای تحلیل کسب و کار بدست آورند. اگرچه SQL به خودی خود یک زبان برنامه‌نویسی است، اما در ترکیب با سایر ابزارهای تحلیل داده می‌تواند قدرت تحلیل داده را به شدت افزایش دهد.</span></p><p><b>مزایا</b><span style="font-weight: 400;">:</span></p><ul><li style="font-weight: 400;" aria-level="1"><b>مدیریت مستقیم داده‌ها</b><span style="font-weight: 400;">: امکان دسترسی و تحلیل داده‌ها به طور مستقیم از پایگاه‌های داده.</span></li><li style="font-weight: 400;" aria-level="1"><b>سازگاری با سیستم‌های مختلف</b><span style="font-weight: 400;">: SQL با اکثر سیستم‌های پایگاه داده مانند MySQL، PostgreSQL و Oracle سازگار است.</span></li><li style="font-weight: 400;" aria-level="1"><b>سرعت بالا</b><span style="font-weight: 400;">: برای تحلیل سریع داده‌های بزرگ بسیار موثر است.</span></li></ul><p><b>معایب</b><span style="font-weight: 400;">:</span></p><ul><li style="font-weight: 400;" aria-level="1"><b>محدودیت در مصورسازی داده‌ها</b><span style="font-weight: 400;">: SQL ابزارهای محدودتری برای بصری‌سازی داده‌ها دارد.</span></li><li style="font-weight: 400;" aria-level="1"><b>نیاز به کدنویسی</b><span style="font-weight: 400;">: برای استفاده از SQL باید با سینتکس و ساختار آن آشنا بود.</span></li></ul><div id="gtx-trans" style="position: absolute; left: 299px; top: 632.531px;"><div class="gtx-trans-icon"> </div></div>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-e7ca092 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="e7ca092" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5293aa9" data-id="5293aa9" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-ee97096 elementor-widget elementor-widget-text-editor" data-id="ee97096" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>دوره آموزشی مرتبط:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-fff84b4 elementor-widget elementor-widget-etlms-course-list tutor-addon etlms-course-list" data-id="fff84b4" data-element_type="widget" data-e-type="widget" data-widget_type="etlms-course-list.default">
				<div class="elementor-widget-container">
					<div class="tutor-wrap tutor-courses-wrap tutor-container etlms-course-list-main-wrap">
			<div class="etlms-course-list-loop-wrap tutor-course-list tutor-grid tutor-grid-2">
							<div class="etlms-course-list-col">
					<div class="tutor-card tutor-course-card tutor-loop-course-container etlms-course-card-classic   etlms-has-hover-animation">
    		<div class="tutor-course-thumbnail">
		<a href="https://d-learn.ir/courses/xlsb4atv/" class="tutor-d-block">
			<div class="tutor-ratio tutor-ratio-16x9">
				<img decoding="async" class="tutor-card-image-top" src="https://d-learn.ir/wp-content/uploads/2026/11/xlsb-atie-768x512.png" alt="آموزش کاربردی اکسل (موسسه آهنگ آتیه)" loading="lazy" title="پنج ابزار کاربردی برای تحلیل داده در کسب‌وکار  47">
			</div>
		</a>
			</div>
<div class="tutor-course-bookmark">
    <span class="cart-required-login save-bookmark-btn tutor-iconic-btn tutor-iconic-btn-secondary" data-course-id="119724" role="button">
            <i class="tutor-icon-bookmark-line"></i>
        </span></div>

    <div class="tutor-card-body">
        <h3 class="tutor-course-name tutor-fs-5 tutor-fw-medium tutor-mb-12" title="آموزش کاربردی اکسل (موسسه آهنگ آتیه)">
    <a href="https://d-learn.ir/courses/xlsb4atv/">آموزش کاربردی اکسل (موسسه آهنگ آتیه)</a>
</h3>
    </div>

    </div>				</div>
					</div>

				
	<input type="hidden" id="etlms_enroll_btn_type" value="">
	<input type="hidden" id="etlms_enroll_btn_cart" value="">
</div>
<div class="tutor-modal tutor-login-modal" role="dialog" aria-modal="true" aria-labelledby="tutor-login-modal-title" aria-hidden="true">
	<div class="tutor-modal-overlay"></div>
	<div class="tutor-modal-window tutor-modal-window-sm">
		<div class="tutor-modal-content tutor-modal-content-white">
			<button class="tutor-iconic-btn tutor-modal-close-o" data-tutor-modal-close aria-label="Close login dialog">
				<span class="tutor-icon-times" aria-hidden="true"></span>
			</button>

			<div class="tutor-modal-body">
				<div class="tutor-py-48">
										<div id="tutor-login-modal-title" class="tutor-fs-4 tutor-fw-medium tutor-color-black tutor-mb-32">
						Hi, Welcome back!					</div>
					<form id="tutor-login-form" method="post">
		<input type="hidden" id="_tutor_nonce" name="_tutor_nonce" value="c5704d7de0" /><input type="hidden" name="_wp_http_referer" value="/p/toolbox/feed/" />	<input type="hidden" name="tutor_action" value="tutor_user_login" />
	<input type="hidden" name="redirect_to" value="https://d-learn.ir/p/toolbox/feed/" />

	<div class="tutor-mb-20">
		<input type="text" class="tutor-form-control" placeholder="نام کاربری یا آدرس ایمیل" name="log" value="" size="20" required/>
	</div>

	<div class="tutor-mb-32">
		<input type="password" class="tutor-form-control" placeholder="رمز عبور" name="pwd" value="" size="20" required/>
	</div>

	<div class="tutor-login-error"></div>
			<input type="hidden" name="timezone" value="Asia/Tehran" />
		<script>
			document.addEventListener('DOMContentLoaded', function() {
				const timezone = document.querySelector('input[name="timezone"]');
				if ( timezone) {
					const tz = Intl.DateTimeFormat().resolvedOptions().timeZone;
					timezone.value = tz
				}
			});
		</script>
			<div class="tutor-d-flex tutor-justify-between tutor-align-center tutor-mb-40">
		<div class="tutor-form-check">
			<input id="tutor-login-agmnt-1" type="checkbox" class="tutor-form-check-input tutor-bg-black-40" name="rememberme" value="forever" />
			<label for="tutor-login-agmnt-1" class="tutor-fs-7 tutor-color-muted">
				Keep me signed in			</label>
		</div>
		<a href="https://d-learn.ir/dashboard/retrieve-password" class="tutor-btn tutor-btn-ghost">
			رمز عبور را فراموش کردید؟.		</a>
	</div>

		<button type="submit" class="tutor-btn tutor-btn-primary tutor-btn-block">
		Sign In	</button>

					<div class="tutor-d-flex tutor-align-center tutor-justify-center tutor-fs-6 tutor-color-secondary tutor-mt-20">
			Don&#039;t have an account?&nbsp;
			<a href="https://d-learn.ir/dashboard/?redirect_to=https://d-learn.ir/p/toolbox/feed/" class="tutor-btn tutor-btn-link">
				Register Now			</a>
		</div>
		</form>
<script>
	document.addEventListener('DOMContentLoaded', function() {
		var loginModal = document.querySelector('.tutor-modal.tutor-login-modal');
		var errors = [];
		if (loginModal && errors.length) {
			loginModal.classList.add('tutor-is-active');
		}
	});
</script>

									</div>
							</div>
		</div>
	</div>
</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-216b97e elementor-widget elementor-widget-text-editor" data-id="216b97e" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p> </p><h3><b>جمع‌بندی</b></h3><p><span style="font-weight: 400;">انتخاب بهترین ابزار برای تحلیل داده‌ها به نیازهای خاص هر کسب‌وکار و میزان پیچیدگی داده‌های آن بستگی دارد. برای کسب‌وکارهایی که به دنبال راه‌حل‌های سریع و ساده هستند، نرم‌افزارهایی مانند </span><b>اکسل</b><span style="font-weight: 400;"> و </span><b>پاور بی‌آی</b><span style="font-weight: 400;"> انتخاب‌های مناسبی هستند، زیرا کاربری آسان و قابلیت‌های بصری قوی را فراهم می‌کنند. اما برای تحلیل‌های پیچیده‌تر آماری یا زمانی که نیاز به مدل‌سازی پیشرفته دارید، زبان‌های برنامه‌نویسی مانند </span><b>R</b><span style="font-weight: 400;"> و </span><b>پایتون</b><span style="font-weight: 400;"> ابزارهای قدرتمندتری محسوب می‌شوند. اگر داده‌های شما در پایگاه‌های داده بزرگ و رابطه‌ای ذخیره می‌شوند، </span><b>SQL</b><span style="font-weight: 400;"> به عنوان یک ابزار ضروری برای مدیریت و استخراج داده‌ها پیشنهاد می‌شود.</span></p><p><span style="font-weight: 400;">با این حال، برای انتخاب مناسب‌ترین ابزار، شرکت‌ها باید ابتدا داده‌های خود را به‌خوبی شناسایی کنند تا بهترین رویکرد تحلیل را براساس حجم، نوع و اهداف خود مشخص نمایند. این شناخت دقیق از داده‌ها، کلید استخراج بینش‌های ارزشمند و تصمیم‌گیری‌های هوشمندانه و استراتژیک است.</span></p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>The post <a rel="nofollow" href="https://d-learn.ir/p/tools-for-business-analysis/">پنج ابزار کاربردی برای تحلیل داده در کسب‌وکار </a> appeared first on <a rel="nofollow" href="https://d-learn.ir">مدرسه پردازش و تحلیل داده دقیقه</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://d-learn.ir/p/tools-for-business-analysis/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>کتابخانه‌های کاربردی R برای تحلیل داده‌های پزشکی و سلامت</title>
		<link>https://d-learn.ir/r-packages-4-med/</link>
					<comments>https://d-learn.ir/r-packages-4-med/#respond</comments>
		
		<dc:creator><![CDATA[علیرضا چمن‌زار]]></dc:creator>
		<pubDate>Tue, 08 Oct 2024 14:04:33 +0000</pubDate>
				<category><![CDATA[جعبه‌ابزار]]></category>
		<category><![CDATA[R]]></category>
		<category><![CDATA[R پزشکی]]></category>
		<category><![CDATA[پکیج R]]></category>
		<category><![CDATA[تحلیل داده حوزه سلامت]]></category>
		<category><![CDATA[تحلیل داده در پزشکی]]></category>
		<category><![CDATA[تحلیل داده در سلامت]]></category>
		<category><![CDATA[کاربردی R]]></category>
		<category><![CDATA[کتابخانه r سلامت]]></category>
		<category><![CDATA[کتابخانه های R]]></category>
		<guid isPermaLink="false">https://d-learn.ir/?p=71341</guid>

					<description><![CDATA[<p>در این مقاله، به معرفی و بررسی چند کتابخانه کاربردی R برای تحلیل داده‌های پزشکی و سلامت خواهیم پرداخت. این کتاب‌خانه‌ها شامل ابزارهایی برای تحلیل بقا، مدل‌سازی پیش‌بینی، ارزیابی عملکرد مدل‌ها و تحلیل داده‌های اپیدمیولوژیک هستند که به تسهیل فرآیند تصمیم‌گیری مبتنی بر داده در صنعت سلامت کمک می‌کنند.</p>
<p>The post <a rel="nofollow" href="https://d-learn.ir/r-packages-4-med/">کتابخانه‌های کاربردی R برای تحلیل داده‌های پزشکی و سلامت</a> appeared first on <a rel="nofollow" href="https://d-learn.ir">مدرسه پردازش و تحلیل داده دقیقه</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="71341" class="elementor elementor-71341" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-cfbe40d elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="cfbe40d" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-72ebb448" data-id="72ebb448" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-1911af50 elementor-widget elementor-widget-text-editor" data-id="1911af50" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									
<p class="wp-block-paragraph">در دنیای امروز، <a href="https://d-learn.ir/r-for-medical/">تحلیل داده‌های پزشکی</a> و سلامت به یکی از ضروریات اصلی برای ارتقاء کیفیت خدمات درمانی و بهبود نتایج بیماران تبدیل شده است. با پیشرفت فناوری و افزایش حجم داده‌ها، ابزارهای تحلیلی قوی و کارآمد برای استخراج بینش‌های معنادار از این داده‌ها به‌شدت مورد نیاز است. در این راستا، زبان برنامه‌نویسی R با ارائه مجموعه‌ای از کتاب‌خانه‌های تخصصی به تحلیلگران داده و محققان این حوزه کمک می‌کند تا به‌سادگی و با دقت بیشتری به تحلیل داده‌های پیچیده بپردازند. در این مقاله، به معرفی و بررسی چند کتابخانه کاربردی R برای تحلیل داده‌های پزشکی و سلامت خواهیم پرداخت. این کتاب‌خانه‌ها شامل ابزارهایی برای تحلیل بقا، مدل‌سازی پیش‌بینی، ارزیابی عملکرد مدل‌ها و تحلیل داده‌های اپیدمیولوژیک هستند که به تسهیل فرآیند تصمیم‌گیری مبتنی بر داده در صنعت سلامت کمک می‌کنند.</p>

<h3>1. tidyverse: آچار فرانسه R</h3>

<p class="wp-block-paragraph"><strong>Tidyverse</strong> مجموعه‌ای از کتابخانه‌های کاربردی در زبان R است که برای تحلیل داده به‌صورت یکپارچه و با استفاده از دستورات ساده و قابل خواندن طراحی شده است. این کتابخانه‌ها، که شامل <strong>ggplot2</strong>، <strong>dplyr</strong>، <strong>tidyr</strong>، <strong>readr</strong>، <strong>purrr</strong> و <strong>tibble</strong> هستند، به کاربر کمک می‌کنند تا فرآیندهایی مانند وارد کردن، پاک‌سازی، تحلیل و مصورسازی داده‌ها را به‌سادگی و به شکل کارا انجام دهد. هر کتابخانه در tidyverse بر اساس فلسفه‌ای طراحی شده است که بر سازمان‌دهی و پردازش داده‌ها در قالب‌های منظم و قابل تفسیر (tidy data) تأکید دارد. Tidyverse به‌ویژه برای تحلیل داده‌های بزرگ و پیچیده مفید است و به دلیل سادگی و کارایی‌اش در بین تحلیلگران داده محبوبیت زیادی دارد.</p>

<p> </p>								</div>
				</div>
				<div class="elementor-element elementor-element-2223c15 elementor-widget elementor-widget-code-highlight" data-id="2223c15" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-okaidia copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-r ">
				<code readonly="true" class="language-r">
					<xmp>install.packages ( "tidyverse" )</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-b18214d elementor-widget elementor-widget-text-editor" data-id="b18214d" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<h3>2. survival: تحلیل داده‌های زمان تا رویداد</h3>
<p><!-- /wp:paragraph --><!-- wp:paragraph --></p>
<p>کتابخانه <strong>survival</strong> در زبان برنامه‌نویسی R یکی از کتابخانه‌های اصلی و پرکاربرد برای تحلیل داده‌های بقا (Survival Analysis) است. این کتابخانه ابزارهایی برای مدل‌سازی و تحلیل داده‌هایی که زمان وقوع یک رویداد خاص (مثل مرگ، عود بیماری یا شکست در یک سیستم) در آن‌ها مهم است، فراهم می‌کند. کتابخانه survival امکان پیاده‌سازی مدل‌های مختلف بقا مانند مدل‌های کاپلان-مایر، رگرسیون کاکس، و مدل‌های پارامتریک بقا را فراهم می‌کند. این کتابخانه به‌طور گسترده در تحقیقات پزشکی، اپیدمیولوژی و سایر حوزه‌هایی که داده‌های زمان-به-رویداد مورد بررسی قرار می‌گیرند، کاربرد دارد.</p>
<p><!-- /wp:paragraph --></p>
<div id="mttContainer" class="notranslate" style="transform: translate(606px, 161px);" aria-expanded="false"> </div>								</div>
				</div>
				<div class="elementor-element elementor-element-8f9e2d3 elementor-widget elementor-widget-code-highlight" data-id="8f9e2d3" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-okaidia copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-r ">
				<code readonly="true" class="language-r">
					<xmp>install.packages ( "survival" )</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-12aaaa0 elementor-widget elementor-widget-text-editor" data-id="12aaaa0" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<!-- wp:paragraph -->
<h3>3. caret: ساده‌سازی گردش کار یادگیری ماشین</h3>
<p><!-- /wp:paragraph --><!-- wp:paragraph --></p>
<p>کتابخانه <strong>caret</strong> (Classification And REgression Training) در R یک ابزار قدرتمند برای مدل‌سازی پیش‌بینی و تحلیل‌های یادگیری ماشین است. این کتابخانه یک چارچوب جامع برای ایجاد، ارزیابی و تنظیم مدل‌های مختلف یادگیری ماشین فراهم می‌کند. caret شامل توابعی برای پیش‌پردازش داده‌ها، تنظیم پارامترهای مدل، انتخاب ویژگی‌ها، و اعتبارسنجی متقابل (cross-validation) است. این کتابخانه از تعداد زیادی الگوریتم‌ یادگیری ماشین برای طبقه‌بندی (classification) و رگرسیون (regression) پشتیبانی می‌کند و به کاربران اجازه می‌دهد تا مدل‌های مختلف را با استفاده از یک رابط ساده پیاده‌سازی و مقایسه کنند. <strong>caret</strong> برای تحلیل داده‌های پیچیده و ساخت مدل‌های قابل پیش‌بینی در حوزه‌هایی مانند پزشکی، اقتصاد، و مهندسی بسیار کاربردی است.</p>
<p><!-- /wp:paragraph --></p>
<div id="mttContainer" class="notranslate" style="transform: translate(629px, 200px);" aria-expanded="false">
<div id="tippy-1" style="z-index: 100000200; visibility: hidden; position: absolute; inset: auto auto 0px 0px; margin: 0px; transform: translate(394px, -20px); pointer-events: none;" data-tippy-root="">
<div class="tippy-box" style="max-width: 350px; transition-duration: 250ms;" tabindex="-1" role="mtttooltip" data-state="hidden" data-theme="custom" data-animation="fade" data-placement="top">
<div class="tippy-content" style="transition-duration: 250ms;" data-state="hidden"><span dir="rtl"><b>اسم</b>: هشتک, نشان</span></div>
<div class="tippy-arrow" style="position: absolute; left: 0px; transform: translate(89px, 0px);"> </div>
</div>
</div>
</div>
<div id="gtx-trans" style="position: absolute; left: 500px; top: 138.125px;">
<div class="gtx-trans-icon"> </div>
</div>								</div>
				</div>
				<div class="elementor-element elementor-element-3c10b9a elementor-widget elementor-widget-code-highlight" data-id="3c10b9a" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-okaidia copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-r ">
				<code readonly="true" class="language-r">
					<xmp>install.packages ( "caret" )</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-fd29499 elementor-widget elementor-widget-text-editor" data-id="fd29499" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<!-- wp:paragraph -->
<h3>4. Healthcareai: یادگیری ماشینی ساخته شده برای حوزه سلامت</h3>
<p><!-- /wp:paragraph --><!-- wp:paragraph --></p>
<p><strong>HealthcareAI</strong> یک کتابخانه در R  است که به‌طور خاص برای پیاده‌سازی و خودکارسازی مدل‌های یادگیری ماشین در حوزه سلامت طراحی شده است. این کتابخانه به متخصصان داده و محققان علوم پزشکی کمک می‌کند تا مدل‌های پیش‌بینی کننده را به آسانی پیاده‌سازی و بهینه کنند و نتایج به دست آمده را به شکل معناداری تفسیر کنند. <strong>HealthcareAI</strong> شامل ابزارهایی برای ساخت مدل‌های طبقه‌بندی و رگرسیون، بهینه‌سازی هایپرپارامترها، مدیریت داده‌های پزشکی و تفسیر نتایج مدل‌ها است. یکی از ویژگی‌های مهم این کتابخانه، توانایی آن در ساده‌سازی پیاده‌سازی مدل‌ها در محیط‌های بیمارستانی و سیستم‌های سلامت واقعی است، که به کاهش پیچیدگی در تحلیل داده‌های پزشکی کمک می‌کند. این کتابخانه به‌طور ویژه برای کمک به تصمیم‌گیری‌های بالینی و بهبود نتایج درمانی بیماران طراحی شده است.</p>
<p><!-- /wp:paragraph --></p>								</div>
				</div>
				<div class="elementor-element elementor-element-b88e498 elementor-widget elementor-widget-code-highlight" data-id="b88e498" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-okaidia copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-r ">
				<code readonly="true" class="language-r">
					<xmp>install.packages ( "Healthcareai" )</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-4a2cdf6 elementor-widget elementor-widget-text-editor" data-id="4a2cdf6" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<h3>5. ROCR: ارزیابی عملکرد مدل</h3>
<p><!-- /wp:paragraph -->

<!-- wp:paragraph --></p>
<p><strong>ROCR</strong> یک کتابخانه در R است که برای ارزیابی و مصورسازی عملکرد مدل‌های طبقه‌بندی (classification) طراحی شده است. این کتابخانه ابزارهایی برای محاسبه و رسم منحنی‌های عملکرد مدل‌ها مانند منحنی Receiver Operating Characteristic و منحنی Precision-Recall فراهم می‌کند. <strong>ROCR</strong> به کاربران این امکان را می‌دهد تا معیارهای مختلفی مثل حساسیت (sensitivity)، ویژگی (specificity)، دقت (accuracy)، و نرخ مثبت کاذب (false positive rate) را محاسبه کرده و نمودارهایی برای ارزیابی مدل‌های طبقه‌بندی رسم کنند. این کتابخانه انعطاف‌پذیری بالایی دارد و به راحتی می‌توان نمودارهای چندگانه را برای مقایسه مدل‌ها رسم کرد. <strong>ROCR</strong> برای بهبود و ارزیابی عملکرد مدل‌های پیش‌بینی و طبقه‌بندی به‌ویژه در حوزه‌های پزشکی و داده‌های زیستی بسیار مفید است.</p>
<p><!-- /wp:paragraph -->

<!-- wp:paragraph --></p>
								</div>
				</div>
				<div class="elementor-element elementor-element-5d41ce7 elementor-widget elementor-widget-code-highlight" data-id="5d41ce7" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-okaidia copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-r ">
				<code readonly="true" class="language-r">
					<xmp>install.packages ( "ROCR" )</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-150a392 elementor-widget elementor-widget-text-editor" data-id="150a392" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<!-- wp:paragraph -->
<h3>6. epiR: تحلیل اپیدمیولوژیک</h3>
<p><!-- /wp:paragraph --><!-- wp:paragraph --></p>
<p>پکیج <strong>epiR</strong> در R مجموعه‌ای از ابزارهای آماری برای تحلیل داده‌های اپیدمیولوژیک و سلامت عمومی فراهم می‌کند. این پکیج شامل توابعی برای برآورد شاخص‌های اپیدمیولوژیک مانند نسبت شانس (odds ratio)، نسبت خطر (risk ratio)، حساسیت (sensitivity)، ویژگی (specificity) و دیگر معیارهای مرتبط است. <strong>epiR</strong> همچنین برای طراحی و تحلیل مطالعات اپیدمیولوژیک مانند مطالعات مقطعی (cross-sectional)، هم‌گروهی (cohort)، و مورد-شاهدی (case-control) مناسب است. این پکیج به‌طور گسترده در تحقیقات بهداشت عمومی و اپیدمیولوژی برای تحلیل شیوع بیماری‌ها و ارزیابی ریسک عوامل خطرزا استفاده می‌شود.</p>
<p><!-- /wp:paragraph --></p>								</div>
				</div>
				<div class="elementor-element elementor-element-d7814ad elementor-widget elementor-widget-code-highlight" data-id="d7814ad" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-okaidia copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-r ">
				<code readonly="true" class="language-r">
					<xmp>install.packages ( "epiR" )</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-c13ef7f elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="c13ef7f" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-3b74984" data-id="3b74984" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-015c961 elementor-cta--skin-classic elementor-animated-content elementor-bg-transform elementor-bg-transform-zoom-in elementor-widget elementor-widget-call-to-action" data-id="015c961" data-element_type="widget" data-e-type="widget" data-widget_type="call-to-action.default">
				<div class="elementor-widget-container">
							<a class="elementor-cta" href="/rmda">
					<div class="elementor-cta__bg-wrapper">
				<div class="elementor-cta__bg elementor-bg" style="background-image: url(https://d-learn.ir/wp-content/uploads/2024/10/headerads2.png);" role="img" aria-label="headerads2"></div>
				<div class="elementor-cta__bg-overlay"></div>
			</div>
							<div class="elementor-cta__content">
				
									<h2 class="elementor-cta__title elementor-cta__content-item elementor-content-item">
						طراحی مطالعه و تحلیل داده در تحقیقات پزشکی و زیستی با R					</h2>
				
									<div class="elementor-cta__description elementor-cta__content-item elementor-content-item">
						۱. مرور R و کتابخانه‌های مورد نیاز با تحلیل داده‌های سلامت
۲. مرور آزمون‌های فرض و مدلسازی آماری
۳. تحلیل رگرسیون خطی و لجستیک
۴. طراحی مطالعات پزشکی موردشاهدی، مقطعی، کارآزمایی بالینی و کوهورت
۵. تحلیل بقا، مرور سیستماتیک و متاآنالیز
۶. پروژه پایانی					</div>
				
									<div class="elementor-cta__button-wrapper elementor-cta__content-item elementor-content-item ">
					<span class="elementor-cta__button elementor-button elementor-size-">
						<b>اطلاعات بیشتر</b>					</span>
					</div>
							</div>
							<div class="elementor-ribbon elementor-ribbon-left">
				<div class="elementor-ribbon-inner">
					دوره آموزشی				</div>
			</div>
				</a>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>The post <a rel="nofollow" href="https://d-learn.ir/r-packages-4-med/">کتابخانه‌های کاربردی R برای تحلیل داده‌های پزشکی و سلامت</a> appeared first on <a rel="nofollow" href="https://d-learn.ir">مدرسه پردازش و تحلیل داده دقیقه</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://d-learn.ir/r-packages-4-med/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>استخراج داده‌های جداول از PDF  بدون برنامه‌نویسی   </title>
		<link>https://d-learn.ir/pfd-table-2-csv/</link>
					<comments>https://d-learn.ir/pfd-table-2-csv/#respond</comments>
		
		<dc:creator><![CDATA[علیرضا چمن‌زار]]></dc:creator>
		<pubDate>Sun, 06 Oct 2024 12:23:38 +0000</pubDate>
				<category><![CDATA[جعبه‌ابزار]]></category>
		<category><![CDATA[ویژه]]></category>
		<category><![CDATA[pdf جدول]]></category>
		<category><![CDATA[استخراج جدول]]></category>
		<category><![CDATA[استخراج جدول از pdf]]></category>
		<category><![CDATA[استخراج جدول از پی دی اف]]></category>
		<category><![CDATA[استخراج داده‌های جداول از pdf]]></category>
		<category><![CDATA[استخراج صفحه pdf]]></category>
		<category><![CDATA[استخراج مقاله از پایان نامه]]></category>
		<guid isPermaLink="false">https://d-learn.ir/?p=71260</guid>

					<description><![CDATA[<p>خوب راه‌حل چیه؟ برنامه‌نویسی استخراج داده‌ها از PDF‌ها چالش‌های خاص خودش را دارد و وقتی با متن فارسی سروکله می‌زنید این چالش‌ها به طرز عجیبی قرار هست بیشتر اذیت‌تون کنه. راه دومی که پیش‌تر استفاده می‌شد، کپی و پیست دستی داده‌ها است که نه‌تنها وقت‌گیر است، بلکه می‌تواند منجر به اشتباهات انسانی شود. اما این فرایند راه‌حل ساده‌ای دارد و خوشبختانه، ابزارهایی وجود دارند که بدون نیاز به دانش برنامه‌نویسی، می‌توانند این فرآیند را ساده‌تر کنند و چندین ابزار ساده و کاربرپسند وجود دارد که به شما اجازه می‌دهد بدون نیاز به کدنویسی، داده‌های جداول را به‌راحتی از فایل‌های PDF استخراج کنید. در این یادداشت، به معرفی و آموزش 4 ابزار و روش کاربردی که می‌تواند به شما در استخراج داده‌های جدول از PDF کمک می‌کنند، می‌پردازم.</p>
<p>The post <a rel="nofollow" href="https://d-learn.ir/pfd-table-2-csv/">استخراج داده‌های جداول از PDF  بدون برنامه‌نویسی   </a> appeared first on <a rel="nofollow" href="https://d-learn.ir">مدرسه پردازش و تحلیل داده دقیقه</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="71260" class="elementor elementor-71260" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-287e3855 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="287e3855" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4ae0ebf4" data-id="4ae0ebf4" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-4814b112 elementor-widget elementor-widget-text-editor" data-id="4814b112" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p></p>
<h3 class="wp-block-heading">مقدمه</h3>
<p></p>
<p class="wp-block-paragraph">در دنیای دیجیتالیزه شده امروز، فایل‌های PDF یکی از رایج‌ترین استانداردهای ارائه اسناد هستند. از گزارش‌های عمومی دولتی تا گزارش‌های مالی و مقالات علمی؛ بسیاری از اطلاعات ارزشمند در قالب جداول به صورت PDF ذخیره می‌شوند. استخراج داده‌های جداول از فایل‌های PDF، یکی از چالش‌های معمول در حوزه کار با این اسناد است و چه به‌عنوان تحلیلگر داده‌ی آماری یا دیتاژورنالیست، دردسر این موضوع به‌تنهایی پتانسیل این را دارد که از آن موضوع در هر سطح اهمیتی گذر کنی و اصطلاحاً بی‌خیالش بشی.</p>
<p></p>
<p class="wp-block-paragraph">اما این دردسر آیا می‌تواند ضرورت اهمیت این کار را کم کند؟ برای مثال اگر به‌عنوان پژوهشگر یا روزنامه‌نگار در حوزه عمومی کار کرده باشید می‌دانید که بسیاری از گزارش‌های عمومی و دولتی که داده‌های ارزشمندی را در دل خود جای داده‌اند، با فرمتPDF  منتشر می‌شوند؛ بودجه‌ی سالانه، گزارش‌های سالانه مرکز آمار و دیگر وزارتخانه‌ها و &#8230; که امکان تحلیل ماشینی به‌صورت مستقیم ندارد و همین امر باعث بی‌توجهی و غافل شدن از این اطلاعات مهم می‌شود.</p>
<p></p>
<p class="wp-block-paragraph">خوب راه‌حل چیه؟ برنامه‌نویسی استخراج داده‌ها از PDF‌ها چالش‌های خاص خودش را دارد و وقتی با متن فارسی سروکله می‌زنید این چالش‌ها به طرز عجیبی قرار هست بیشتر اذیت‌تون کنه. راه دومی که پیش‌تر استفاده می‌شد، کپی و پیست دستی داده‌ها است که نه‌تنها وقت‌گیر است، بلکه می‌تواند منجر به اشتباهات انسانی شود. اما این فرایند راه‌حل ساده‌ای دارد و خوشبختانه، ابزارهایی وجود دارند که بدون نیاز به دانش برنامه‌نویسی، می‌توانند این فرآیند را ساده‌تر کنند و چندین ابزار ساده و کاربرپسند وجود دارد که به شما اجازه می‌دهد بدون نیاز به کدنویسی، داده‌های جداول را به‌راحتی از فایل‌های PDF استخراج کنید. در این یادداشت، به معرفی و آموزش 4 ابزار و روش کاربردی که می‌تواند به شما در استخراج داده‌های جدول از PDF کمک می‌کنند، می‌پردازم.</p>
<p></p>
<p class="wp-block-paragraph">{در این آموزش از فایل PDF <a href="http://amar.org.ir/salnameh-amari" rel="nofollow noopener" target="_blank">گزارش سالنامه آماری 1401</a> در مرکز آمار ایران استفاده‌شده است}</p>
<p> </p>
<p></p>
<h3 class="wp-block-heading"><img loading="lazy" decoding="async" class="alignnone wp-image-71285 size-full" src="https://d-learn.ir/wp-content/uploads/2024/10/Tabula.png" alt="Tabula | استخراج داده‌های جداول از PDF  بدون برنامه‌نویسی   " width="961" height="444" title="استخراج داده‌های جداول از PDF  بدون برنامه‌نویسی    48" srcset="https://d-learn.ir/wp-content/uploads/2024/10/Tabula.png 961w, https://d-learn.ir/wp-content/uploads/2024/10/Tabula-300x139.png 300w, https://d-learn.ir/wp-content/uploads/2024/10/Tabula-768x355.png 768w" sizes="auto, (max-width: 961px) 100vw, 961px" /></h3>
<h3 class="wp-block-heading"><strong>تابولا Tabula</strong></h3>
<p></p>
<p class="wp-block-paragraph"><strong> </strong><strong>Tabula</strong> را می‌توان به‌عنوان پیش‌کسوت این حوزه معرفی کرد اما همچنان کاربردی است؛ تابولا یکی از ساده‌ترین و کاربرپسندترین ابزارها برای استخراج جداول از فایل‌های PDF است. این ابزار رایگان و متن‌باز بوده و به کاربر امکان می‌دهد تا بدون نیاز به دانش فنی، جداول PDF را به‌راحتی استخراج کنید و دقت بالایی دارد و امکان استخراج هم‌زمان چند جدول را در اختیار شما می‌گذارد. آخرین نسخه‌ی منتشر شده تابولا سال 2018 منتشر شده است.</p>
<p></p>
<p class="wp-block-paragraph">تابولا توانایی استخراج داده‌ها از PDF‌هایی که به‌صورت ماشینی تولید شده‌اند را دارد و به این نکته توجه داشته‌باشید که اگر فایل شما خروجی اسکن شده هستند، باید به فکر راه‌حل‌های دیگری باشید.</p>
<p></p>
<p class="wp-block-paragraph"><strong>راهنمای استفاده از تابولا</strong></p>
<p></p>
<p class="wp-block-paragraph">1- فایل برنامه را از سایت تابولا دانلود کنید. نسخه‌های ویندوز و مک در سایت در دسترس هست و اگر از لینوکس استفاده می‌کنید می‌توانید از راهنمای نصب آن را از <a href="https://github.com/tabulapdf/tabula" rel="nofollow noopener" target="_blank">مخزن</a> گیتهاب آن بخوانید:</p>
<p></p>
<p class="wp-block-paragraph" style="text-align: left;"><a href="https://tabula.technology" target="_blank" rel="noopener nofollow">Tabula.technology</a></p>
<p></p>
<p class="wp-block-paragraph">2- فایل دانلود شده را از حالت فشرده خارج کنید و فایل tabula را باز کنید. اگر مشکلی وجود نداشته باشد، صفحه مرورگر باز می‌شود و اگر به‌صورت خودکار باز نشد می‌‌توانید به‌صورت دستی <a href="http://127.0.0.1:8080/" rel="nofollow">http://127.0.0.1:8080</a> را باز کنید و فایل خود را Import کنید و صبر کنید پردازش اولیه بر آن انجام شود. زمان پردازش وابسته به حجم فایل و سخت‌افزار شما است.</p>
<p></p>
<p class="wp-block-paragraph">این نکته را به یاد داشته باشید که تابولا بر بستر Java نوشته شده و برای اجرای آن نیاز هست  که <a href="https://www.java.com/download/ie_manual.jsp" rel="nofollow noopener" target="_blank">جاوا</a> را روی سیستم خود نصب کنید.</p>
<p></p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="975" height="484" class="wp-image-71261" src="https://d-learn.ir/wp-content/uploads/2024/10/image.png" alt="image | استخراج داده‌های جداول از PDF  بدون برنامه‌نویسی   " title="استخراج داده‌های جداول از PDF  بدون برنامه‌نویسی    49" srcset="https://d-learn.ir/wp-content/uploads/2024/10/image.png 975w, https://d-learn.ir/wp-content/uploads/2024/10/image-300x149.png 300w, https://d-learn.ir/wp-content/uploads/2024/10/image-768x381.png 768w" sizes="auto, (max-width: 975px) 100vw, 975px" /></figure>
<p></p>
<p class="wp-block-paragraph">3- در صفحه‌‌ای که باز می‌شود می‌توانید صفحات مختلف را ورق بزنید و جداول که‌می‌خواهید را انتخاب کنید. گوشه‌ی جدول را کلیک کنید و نشانگر ماوس را بکشید تا محیط مشخص شود.اگر از فایل‌هایی مثل بودجه استفاده می‌کنید که جدول‌ها در صفحات مختلف تکرار شده‌اند گزینه‌ی Autodetect Tables، با دقت خوبی کل جدول‌ها را انتخاب می‌کند. پس از اتمام کار گزینه Preview &amp; Export Extracted Data  را فشار دهید تا پیش‌نمایش جداول به شما نمایش داده شود.</p>
<p></p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="975" height="542" class="wp-image-71262" src="https://d-learn.ir/wp-content/uploads/2024/10/image-1.png" alt="image 1 | استخراج داده‌های جداول از PDF  بدون برنامه‌نویسی   " title="استخراج داده‌های جداول از PDF  بدون برنامه‌نویسی    50" srcset="https://d-learn.ir/wp-content/uploads/2024/10/image-1.png 975w, https://d-learn.ir/wp-content/uploads/2024/10/image-1-300x167.png 300w, https://d-learn.ir/wp-content/uploads/2024/10/image-1-768x427.png 768w" sizes="auto, (max-width: 975px) 100vw, 975px" /></figure>
<p></p>
<p class="wp-block-paragraph">4- تمام! پیش‌نمایش جدول را می‌توانید پیش روی خود ببینید و از بخش Export Format، فرمت مناسب خود را انتخاب کنید و دانلود کنید. (اگر فرمت‌ها را نمی‌شناسید، فرمت پیش‌فرض CSV گزینه‌ی مناسبی برای کار در نرم‌افزارهای مختلف هست.)</p>
<p></p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="975" height="540" class="wp-image-71263" src="https://d-learn.ir/wp-content/uploads/2024/10/image-2.png" alt="image 2 | استخراج داده‌های جداول از PDF  بدون برنامه‌نویسی   " title="استخراج داده‌های جداول از PDF  بدون برنامه‌نویسی    51" srcset="https://d-learn.ir/wp-content/uploads/2024/10/image-2.png 975w, https://d-learn.ir/wp-content/uploads/2024/10/image-2-300x166.png 300w, https://d-learn.ir/wp-content/uploads/2024/10/image-2-768x425.png 768w" sizes="auto, (max-width: 975px) 100vw, 975px" /></figure>
<p></p>
<p class="wp-block-paragraph">از بخش‌های My Templates  می‌توانید قالب‌هایی را برای فایل‌های خاص بسازید که در مراحل بعد نیازی به انجام فرایندهای تکراری نباشد و یادگیری این بخش را بر عهده‌ی خودتان می‌گذارم که آن را کشف کنید.</p>
<p></p>
<p class="wp-block-paragraph">دقت کنید که اگر چه فایل در مرورگر باز می‌شود اما آدرس شبکه‌ی داخلی شما هست و فایل‌ها از سیستم شما بیرون نمی‌رود و امنیت آن‌ها به خطر نمی‌افتد.</p>
<p> </p>
<p></p>
<h3 class="wp-block-heading"><img loading="lazy" decoding="async" class="alignnone wp-image-71287 size-full" src="https://d-learn.ir/wp-content/uploads/2024/10/Excel.png" alt="| استخراج داده‌های جداول از PDF  بدون برنامه‌نویسی   " width="900" height="330" title="استخراج داده‌های جداول از PDF  بدون برنامه‌نویسی    52" srcset="https://d-learn.ir/wp-content/uploads/2024/10/Excel.png 900w, https://d-learn.ir/wp-content/uploads/2024/10/Excel-300x110.png 300w, https://d-learn.ir/wp-content/uploads/2024/10/Excel-768x282.png 768w" sizes="auto, (max-width: 900px) 100vw, 900px" /></h3>
<h3 class="wp-block-heading"><strong>مایکروسافت اکسل</strong></h3>
<p></p>
<p class="wp-block-paragraph">یکی دیگر از ابزارهایی که می‌توانید برای استخراج داده‌های جداول از فایل‌های PDF استفاده کنید، Microsoft Excel  است. اکسل نیاز به معرفی خاصی ندارد و رابط کاربری آشنای آن مهم‌ترین مزایای آن هست و می‌توانید پس از استخراج به‌سرعت کار بر روی داده‌ها را آغاز کنید. قابلیت باز کردن فایل‌های PDF و استخراج داده‌های جدول به‌صورت خودکار در نسخه‌های جدید اکسل، اضافه شده است.</p>
<p></p>
<p class="wp-block-paragraph"><strong>راهنمای استفاده از اکسل</strong></p>
<p></p>
<p class="wp-block-paragraph">1- نرم‌افزار اکسل را باز کنید و از سربرگ Data، گزینه Get Data  را باز کنید و از بخش From File  گزینه PDF  را بزنید و فایل مورد نظر خود را وارد کنید و صبر کنید تا پردازش تمام شود و صفحه Navigator  باز شود و گزینه‌ها نمایش داده شود.</p>
<p></p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="975" height="206" class="wp-image-71264" src="https://d-learn.ir/wp-content/uploads/2024/10/image-3.png" alt="image 3 | استخراج داده‌های جداول از PDF  بدون برنامه‌نویسی   " title="استخراج داده‌های جداول از PDF  بدون برنامه‌نویسی    53" srcset="https://d-learn.ir/wp-content/uploads/2024/10/image-3.png 975w, https://d-learn.ir/wp-content/uploads/2024/10/image-3-300x63.png 300w, https://d-learn.ir/wp-content/uploads/2024/10/image-3-768x162.png 768w" sizes="auto, (max-width: 975px) 100vw, 975px" /></figure>
<p></p>
<p class="wp-block-paragraph">2- همان‌طور که در تصویر زیر می‌بینید تمامی جداول گزارش که توسط اکسل شناسایی شده در فهرست زیر مشخص هست و می‌توانید صفحه‌ای که مایل هستید را انتخاب کنید یا با فعال کردن گزینه Select Multiple Items  در سایدبار به‌صورت هم‌زمان چند گزینه را انتخاب کنید. پس از اتمام کار با فشار دادن گزینه Load  داده‌های به شیت اکسل شما وارد می‌شود. این ابزار از Power Query  کمک می‌گیرد و با فشار دادن Transform Data ابتدا به صفحه power query وارد می‌شوید و (اگر تغییراتی دارید/ندارید اعمال کنید ) و از آنجا دوباره گزینه انتقال به شیت را می‌توانید بزنید.</p>
<p></p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="975" height="631" class="wp-image-71265" src="https://d-learn.ir/wp-content/uploads/2024/10/image-4.png" alt="image 4 | استخراج داده‌های جداول از PDF  بدون برنامه‌نویسی   " title="استخراج داده‌های جداول از PDF  بدون برنامه‌نویسی    54" srcset="https://d-learn.ir/wp-content/uploads/2024/10/image-4.png 975w, https://d-learn.ir/wp-content/uploads/2024/10/image-4-300x194.png 300w, https://d-learn.ir/wp-content/uploads/2024/10/image-4-768x497.png 768w" sizes="auto, (max-width: 975px) 100vw, 975px" /></figure>
<p></p>
<p class="wp-block-paragraph">فضای کاری آشنا و امکان استخراج و ویرایش هم‌زمان داده‌ها در اکسل می‌تواند گزینه‌ی قابل قبولی برای بسیاری از کاربران باشد و تجربه کار با آن در متون فارسی برای من لذت‌بخش بوده و دقت بسیار بالایی در استخراج داشته و نیازمند کمترین زمان برای ویرایش خروجی‌ها را داشته است.</p>
<p> </p>
<p></p>
<p class="wp-block-paragraph"></p>
<h3 class="wp-block-heading"><img loading="lazy" decoding="async" class="alignnone size-large wp-image-71286" src="https://d-learn.ir/wp-content/uploads/2024/10/Adobe_PDF-1024x428.jpeg" alt="Adobe PDF | استخراج داده‌های جداول از PDF  بدون برنامه‌نویسی   " width="800" height="334" title="استخراج داده‌های جداول از PDF  بدون برنامه‌نویسی    55" srcset="https://d-learn.ir/wp-content/uploads/2024/10/Adobe_PDF-1024x428.jpeg 1024w, https://d-learn.ir/wp-content/uploads/2024/10/Adobe_PDF-300x125.jpeg 300w, https://d-learn.ir/wp-content/uploads/2024/10/Adobe_PDF-768x321.jpeg 768w, https://d-learn.ir/wp-content/uploads/2024/10/Adobe_PDF.jpeg 1340w" sizes="auto, (max-width: 800px) 100vw, 800px" /></h3>
<h3 class="wp-block-heading"><strong>Adobe Acrobat Pro</strong></h3>
<p></p>
<p class="wp-block-paragraph">نرم‌‌افزار آشنا و رایگان Acrobat reader که تا مدت‌ها PDF‌خوان پیش‌فرض بسیاری بود یک برادر پولی داره که جز نمایش، امکان‌های زیادی مثل ویرایش PDF  هم در اختیار کاربر می‌گذارد و در نسخه‌های جدید خروجی‌های نسبتاً قابل قبولی از تبدیل فایل‌های فارسی نیاز داشته است.</p>
<p></p>
<p class="wp-block-paragraph"><strong>راهنمای استفاده از </strong><strong>Adobe Acrobat Pro</strong></p>
<p></p>
<p class="wp-block-paragraph"> 1- فایل PDF مورد نظر خود را با آن باز کنید و جدولی که می‌خواهید از آن خروجی بگیرید را با کمک ماوس انتخاب کنید و روی آن راست کلیک کنید. در منوی باز شده دو انتخاب دارید؛</p>
<p></p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="973" height="256" class="wp-image-71266" src="https://d-learn.ir/wp-content/uploads/2024/10/image-5.png" alt="image 5 | استخراج داده‌های جداول از PDF  بدون برنامه‌نویسی   " title="استخراج داده‌های جداول از PDF  بدون برنامه‌نویسی    56" srcset="https://d-learn.ir/wp-content/uploads/2024/10/image-5.png 973w, https://d-learn.ir/wp-content/uploads/2024/10/image-5-300x79.png 300w, https://d-learn.ir/wp-content/uploads/2024/10/image-5-768x202.png 768w" sizes="auto, (max-width: 973px) 100vw, 973px" /></figure>
<p></p>
<p class="wp-block-paragraph">Copy with Formating: بخشی که مد نظرتان هست را با حفظ چارچوب‌های آن کپی می‌کند و می‌توانید آن را در فضایی مثل ورد یا اکسل به‌صورت مستقیم کپی کنید. در تجربه من با آن، چسباندن (Past) کردن در ورد کیفیت قابل قبولی دارد اما در انتقال مستقیم به اکسل حروف فارسی در هم ریخته می‌شوند. (انتقال به ورد و سپس کپی مجدد و انتقال به اکسل، قابل قبول بود)</p>
<p></p>
<p class="wp-block-paragraph">Export selection as: با انتخاب این گزینه بخش انتخابی به‌صورت مستقیم در قالب خروجی‌هایی که در تصویر زیر می‌بینید تحویل داده می‌شود و با اغماض کیفیت قابل قبولی داشت و می‌توانید در تصویر زیرین آن را ببینید.</p>
<p></p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="974" height="236" class="wp-image-71268" src="https://d-learn.ir/wp-content/uploads/2024/10/image-7.png" alt="image 7 | استخراج داده‌های جداول از PDF  بدون برنامه‌نویسی   " title="استخراج داده‌های جداول از PDF  بدون برنامه‌نویسی    57" srcset="https://d-learn.ir/wp-content/uploads/2024/10/image-7.png 974w, https://d-learn.ir/wp-content/uploads/2024/10/image-7-300x73.png 300w, https://d-learn.ir/wp-content/uploads/2024/10/image-7-768x186.png 768w" sizes="auto, (max-width: 974px) 100vw, 974px" /></figure>
<p></p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="975" height="287" class="wp-image-71269" src="https://d-learn.ir/wp-content/uploads/2024/10/image-8.png" alt="image 8 | استخراج داده‌های جداول از PDF  بدون برنامه‌نویسی   " title="استخراج داده‌های جداول از PDF  بدون برنامه‌نویسی    58" srcset="https://d-learn.ir/wp-content/uploads/2024/10/image-8.png 975w, https://d-learn.ir/wp-content/uploads/2024/10/image-8-300x88.png 300w, https://d-learn.ir/wp-content/uploads/2024/10/image-8-768x226.png 768w" sizes="auto, (max-width: 975px) 100vw, 975px" /></figure>
<p></p>
<p class="wp-block-paragraph">این نرم‌افزار از سویی امکان استخراج اتوماتیک چند جدول را نمی‌دهد و از سوی دیگر به دلیل مشکلاتی که با متن‌های فارسی دارد برای کارهای بزرگ مناسب نیست.</p>
<p> </p>
<p></p>
<h3 class="wp-block-heading"><img loading="lazy" decoding="async" class="alignnone size-large wp-image-71284" src="https://d-learn.ir/wp-content/uploads/2024/10/AI-1024x576.png" alt="AI | استخراج داده‌های جداول از PDF  بدون برنامه‌نویسی   " width="800" height="450" title="استخراج داده‌های جداول از PDF  بدون برنامه‌نویسی    59" srcset="https://d-learn.ir/wp-content/uploads/2024/10/AI-1024x576.png 1024w, https://d-learn.ir/wp-content/uploads/2024/10/AI-300x169.png 300w, https://d-learn.ir/wp-content/uploads/2024/10/AI-768x432.png 768w, https://d-learn.ir/wp-content/uploads/2024/10/AI-1536x864.png 1536w, https://d-learn.ir/wp-content/uploads/2024/10/AI.png 2000w" sizes="auto, (max-width: 800px) 100vw, 800px" /></h3>
<h3 class="wp-block-heading"><strong>هوش مصنوعی</strong></h3>
<p></p>
<p class="wp-block-paragraph">امروزه با پیشرفت‌های هوش مصنوعی که گره‌‌ای نیست که نشه باهاش باز نکرد و بات‌های هوش مصنوعی مثل ChatGPT، کلاود یا Gemini  گوگل خیلی راحت می‌توانند بهتون کمک کنند.</p>
<p></p>
<p class="wp-block-paragraph">برای استفاده من با دو راه به نتیجه رسیده‌م و شما می‌توانید راه‌های دیگری نیز تست کنید؛</p>
<p></p>
<p class="wp-block-paragraph"><strong>1- ارسال تصویر جدول: </strong>تصویر جداول را با اسکرین‌ گرفتن از فایل یا آپلود فایل ذخیره در بات و نوشتن پرامپت ساده‌ی « اطلاعات این جدول را به‌صورت خروجی مارکداون برام بفرست» به نتیجه زیر رسیدم. اگر مارکداون را نمی‌شناسید، پیشنهاد می‌کنم در مورد آن گوگل کنید یا از خود هوش مصنوعی بپرسید.</p>
<p></p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="975" height="404" class="wp-image-71270" src="https://d-learn.ir/wp-content/uploads/2024/10/image-9.png" alt="image 9 | استخراج داده‌های جداول از PDF  بدون برنامه‌نویسی   " title="استخراج داده‌های جداول از PDF  بدون برنامه‌نویسی    60" srcset="https://d-learn.ir/wp-content/uploads/2024/10/image-9.png 975w, https://d-learn.ir/wp-content/uploads/2024/10/image-9-300x124.png 300w, https://d-learn.ir/wp-content/uploads/2024/10/image-9-768x318.png 768w" sizes="auto, (max-width: 975px) 100vw, 975px" />
<p> </p>
<figcaption class="wp-element-caption">تصویر از Claude.ai است.</figcaption>
</figure>
<p></p>
<p class="wp-block-paragraph"><strong>2- آپلود کل فایل: </strong>هوش مصنوعی‌ها زمانی که فایل pdf یا اسناد دیگر را دریافت می‌کنند، نمی‌توانند آن را به‌صورت یک فایل یکپارچه بفهمند. توضیح ساده این است که فایل را تکه تکه می‌کنند و مثلا کلمه به کلمه آن را می‌خوانند سپس در شبکه‌ای مرتبط با هم آن را فهم می‌کنند. در این فرایند زمانی که کاربر درخواست ارسال صفحه‌ی خاصی کند با خطایی روبرو می‌شوید که هوش مصنوعی از ناتوانی در فهم شماره صفحه می‌گوید و درخواست ارسال موضوع خاص از کاربر می‌کند:</p>
<p></p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="975" height="336" class="wp-image-71271" src="https://d-learn.ir/wp-content/uploads/2024/10/image-10.png" alt="image 10 | استخراج داده‌های جداول از PDF  بدون برنامه‌نویسی   " title="استخراج داده‌های جداول از PDF  بدون برنامه‌نویسی    61" srcset="https://d-learn.ir/wp-content/uploads/2024/10/image-10.png 975w, https://d-learn.ir/wp-content/uploads/2024/10/image-10-300x103.png 300w, https://d-learn.ir/wp-content/uploads/2024/10/image-10-768x265.png 768w" sizes="auto, (max-width: 975px) 100vw, 975px" /></figure>
<p></p>
<p class="wp-block-paragraph">زمانی که عنوان جدول مورد نظر را ارسال کنید اما اصل جدول را با توضیحات لازم ارسال می‌کند. دقت کنید که دلیل ارسال جدول انگلیسی این هست که من در شروع صحبت با آن انگلیسی صحبت کرده‌ام و پس از ارسال جدول انگلیسی برای اطمینان از صحت داده‌ها درخواست ارسال جدول به‌صورت فارسی کردم و به درستی جواب را برگرداند. در نهایت خروجی جدول را می‌توانید به اکسل منتقل کنید.</p>
<p></p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="975" height="523" class="wp-image-71272" src="https://d-learn.ir/wp-content/uploads/2024/10/image-11.png" alt="image 11 | استخراج داده‌های جداول از PDF  بدون برنامه‌نویسی   " title="استخراج داده‌های جداول از PDF  بدون برنامه‌نویسی    62" srcset="https://d-learn.ir/wp-content/uploads/2024/10/image-11.png 975w, https://d-learn.ir/wp-content/uploads/2024/10/image-11-300x161.png 300w, https://d-learn.ir/wp-content/uploads/2024/10/image-11-768x412.png 768w" sizes="auto, (max-width: 975px) 100vw, 975px" /></figure>
<p></p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="975" height="461" class="wp-image-71273" src="https://d-learn.ir/wp-content/uploads/2024/10/image-12.png" alt="image 12 | استخراج داده‌های جداول از PDF  بدون برنامه‌نویسی   " title="استخراج داده‌های جداول از PDF  بدون برنامه‌نویسی    63" srcset="https://d-learn.ir/wp-content/uploads/2024/10/image-12.png 975w, https://d-learn.ir/wp-content/uploads/2024/10/image-12-300x142.png 300w, https://d-learn.ir/wp-content/uploads/2024/10/image-12-768x363.png 768w" sizes="auto, (max-width: 975px) 100vw, 975px" />
<p> </p>
<figcaption class="wp-element-caption">تصاویر از ChatGPT.com است.</figcaption>
</figure>
<p></p>
<p class="wp-block-paragraph">علاوه بر بات‌هایی، پلتفرم‌هایی کمک گرفته از هوش مصنوعی هست که اختصاصاً برای چنین کارهایی آموزش دیده‌اند به‌صورت پولی یا رایگان محدود فعالیت می‌کنند و می‌توانید آن‌ها را با جست‌و‌جویی کوتاه در اینترنت بیابید.</p>
<p></p>
<h3 class="wp-block-heading">جمع‌بندی</h3>
<p></p>
<p class="wp-block-paragraph">در این یادداشت، چهار ابزار محبوب و کارآمد برای استخراج جداول از فایل‌های PDF بدون نیاز به برنامه‌نویسی معرفی شد :  <strong>Tabula</strong>، <strong>Microsoft Excel،</strong> <strong>Adobe Acrobat Pro</strong> و ابزارهای مبتنی بر هوش مصنوعی که هر یک از این ابزارها با توجه به نیازهای مختلف کاربران، از افراد مبتدی تا حرفه‌ای، راه‌حل‌های ساده و قابل اطمینانی ارائه می‌دهند.</p>
<p></p>
<p class="wp-block-paragraph">در کنار این ابزارها، ابزارهای دیگری نیز در بازار موجود هستند که ممکن است بسته به نیاز کاربران مفید واقع شوند. برخی ابزارهای آنلاین و نرم‌افزارهای دیگر نیز قابلیت استخراج داده‌ها از PDF را دارند که می‌توانند در شرایط خاص، جایگزین‌های مناسبی باشند و اگر تجربه‌های دیگری دارید می‌توانید آن را به اشتراک بگذارید تا به این فهرست اضافه شوند.</p>
<p></p>
<p class="wp-block-paragraph">در آینده این یادداشت به‌روزرسانی خواهد شد تا ابزارهای جدیدتر و کاربردی‌تر را نیز معرفی کند. همچنین، یادداشت‌های دیگری در زمینه‌های مرتبط مانند <strong>استخراج جداول از سایت‌های اینترنتی</strong> و <strong>استخراج داده‌ها از نمودارها و گراف‌ها</strong> منتشر خواهد شد که به شما کمک می‌کند تا داده‌های موردنیاز خود را به‌راحتی از منابع مختلف دریافت کنید.</p>
<p></p>
<p class="wp-block-paragraph">برای دریافت اطلاعات در مورد انتشار یادداشت‌های جدید و به‌روزرسانی‌های این مقاله، ما را در شبکه‌های اجتماعی دنبال کنید.</p>
<p></p>
<div id="eJOY__extension_root" class="eJOY__extension_root_class" style="all: unset;"> </div>
<div id="gtx-trans" style="position: absolute; left: 89px; top: 6334.22px;">
<div class="gtx-trans-icon"> </div>
</div>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>The post <a rel="nofollow" href="https://d-learn.ir/pfd-table-2-csv/">استخراج داده‌های جداول از PDF  بدون برنامه‌نویسی   </a> appeared first on <a rel="nofollow" href="https://d-learn.ir">مدرسه پردازش و تحلیل داده دقیقه</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://d-learn.ir/pfd-table-2-csv/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>چطور نرخ رشد فروش را در R  محاسبه کنیم؟</title>
		<link>https://d-learn.ir/p/lead-lag-r/</link>
					<comments>https://d-learn.ir/p/lead-lag-r/#comments</comments>
		
		<dc:creator><![CDATA[بهمن اجدری]]></dc:creator>
		<pubDate>Mon, 04 Sep 2023 10:26:57 +0000</pubDate>
				<category><![CDATA[پرانتز]]></category>
		<category><![CDATA[جعبه‌ابزار]]></category>
		<category><![CDATA[آموزش R]]></category>
		<category><![CDATA[مهارت‌های علوم داده]]></category>
		<category><![CDATA[نرخ تغییر فروش]]></category>
		<guid isPermaLink="false">https://d-learn.ir/?p=52916</guid>

					<description><![CDATA[<p>تغییرات فروش در بازه‌های زمانی معمولا یکی از شاخص‌هایی است که همیشه توسط کسب و کارها دنبال می‌شود. فرمول محاسبه نرخ تغییرات فروش ساده است:  مشخص است که اگر عدد حاصل از فرمول بالا را در ۱۰۰ ضرب کنیم، درصد تغییرات فروش را محاسبه کرده‌ایم. برای این کار می‌توانیم از دستورات lead&#160;و lag&#160;در کتابخانه dplyr&#160;استفاده [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://d-learn.ir/p/lead-lag-r/">چطور نرخ رشد فروش را در R  محاسبه کنیم؟</a> appeared first on <a rel="nofollow" href="https://d-learn.ir">مدرسه پردازش و تحلیل داده دقیقه</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="52916" class="elementor elementor-52916" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-b6eb360 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="b6eb360" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5cac2ac" data-id="5cac2ac" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-c022b05 elementor-widget elementor-widget-text-editor" data-id="c022b05" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>تغییرات فروش در بازه‌های زمانی معمولا یکی از شاخص‌هایی است که همیشه توسط کسب و کارها دنبال می‌شود. فرمول محاسبه نرخ تغییرات فروش ساده است: </p>								</div>
				</div>
				<div class="elementor-element elementor-element-1dd55bb elementor-widget elementor-widget-image" data-id="1dd55bb" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="800" height="117" src="https://d-learn.ir/wp-content/uploads/2023/09/growth_rate-1024x150.png" class="attachment-large size-large wp-image-52926" alt="growth rate | چطور نرخ رشد فروش را در R محاسبه کنیم؟" srcset="https://d-learn.ir/wp-content/uploads/2023/09/growth_rate-1024x150.png 1024w, https://d-learn.ir/wp-content/uploads/2023/09/growth_rate-300x44.png 300w, https://d-learn.ir/wp-content/uploads/2023/09/growth_rate-768x112.png 768w, https://d-learn.ir/wp-content/uploads/2023/09/growth_rate-1536x225.png 1536w, https://d-learn.ir/wp-content/uploads/2023/09/growth_rate-2048x300.png 2048w" sizes="auto, (max-width: 800px) 100vw, 800px" title="چطور نرخ رشد فروش را در R محاسبه کنیم؟ 65">															</div>
				</div>
				<div class="elementor-element elementor-element-44f4830 elementor-widget elementor-widget-text-editor" data-id="44f4830" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>مشخص است که اگر عدد حاصل از فرمول بالا را در ۱۰۰ ضرب کنیم، درصد تغییرات فروش را محاسبه کرده‌ایم. برای این کار می‌توانیم از دستورات <code>lead</code>&nbsp;و <code>lag</code>&nbsp;در کتابخانه <code>dplyr</code>&nbsp;استفاده کنیم.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-22dfd52 elementor-widget elementor-widget-heading" data-id="22dfd52" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">نحوه عملکرد lead  و lag</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-dc70b21 elementor-widget elementor-widget-text-editor" data-id="dc70b21" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>این دو تابع  عملکردی ساده دارند. <code>lead</code> مقدار بعدی و <code>lag</code> مقدار قبلی را در یک بردار پیدا می‌کند. فرض کنید برداری دارید که اعداد ۱ تا ۵ را در آن ذخیره کرده‌اید. عملکرد توابع مورد نظر بصورت زیر خواهد بود:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-1e9a7fa elementor-widget elementor-widget-code-highlight" data-id="1e9a7fa" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-r line-numbers">
				<code readonly="true" class="language-r">
					<xmp>library(dplyr)
v <- 1:5
lead(v)</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-4d5f6ed elementor-widget elementor-widget-code-highlight" data-id="4d5f6ed" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow  ">
			<pre data-line="" class="highlight-height language-markup ">
				<code readonly="true" class="language-markup">
					<xmp>[1]  2  3  4  5 NA</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-90643ce elementor-widget elementor-widget-text-editor" data-id="90643ce" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>ملاحظه می‌کنید که پاسخ، یک بردار است که از مقدار ۲ آغاز شده و به <code>NA</code> ختم شده است. مقدار آخر به این دلیل <code>NA</code> شده است که پس از عدد ۵ در بردار <code>v</code> مقدار دیگری نداریم. حتما می‌توانید حدس بزنید که به همان دلیل پیشین اگر تابع <code>lag</code> را روی بردار <code>v</code>  اعمال کنیم اولین مقدار آن <code>NA</code> خواهد بود.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-81717c6 elementor-widget elementor-widget-code-highlight" data-id="81717c6" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-markup ">
				<code readonly="true" class="language-markup">
					<xmp>> lag(v)
[1] NA  1  2  3  4</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-7a3c519 elementor-widget elementor-widget-text-editor" data-id="7a3c519" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>پاسخ توابع <code>lead</code> و <code>lag</code> همیشه به اندازه بردار اصلی هستند. برای اینکه بهتر نحوه کارکرد این دو تابع را درک کنید به مثال زیر توجه کنید.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-69b1530 elementor-widget elementor-widget-code-highlight" data-id="69b1530" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-r line-numbers">
				<code readonly="true" class="language-r">
					<xmp>library(dplyr)
v = 1:5
data.frame(
    before = lag(v),
    actual = v,
    after = lead(v)
      )</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-6586688 elementor-widget elementor-widget-code-highlight" data-id="6586688" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow  ">
			<pre data-line="" class="highlight-height language-markup ">
				<code readonly="true" class="language-markup">
					<xmp>.  before actual after
1     NA   1     2
2      1   2     3
3      2   3     4
4      3   4     5
5      4   5    NA</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-4b554e4 elementor-widget elementor-widget-heading" data-id="4b554e4" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">محاسبه نرخ تغییر فروش ماهانه</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-4a09c69 elementor-widget elementor-widget-text-editor" data-id="4a09c69" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>فرض کنید میزان فروش ماهانه یک شرکت در ۶ ماه اول سال بصورت زیر است.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-6791470 elementor-widget elementor-widget-code-highlight" data-id="6791470" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-r line-numbers">
				<code readonly="true" class="language-r">
					<xmp>data <- data.frame(
  monthID = 1:6,
  month = month.abb[1:6],
  sales = c(90e3,12.7e4,10e4,92e3,16e4,16.9e4)
    )
data</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-0697412 elementor-widget elementor-widget-code-highlight" data-id="0697412" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow  ">
			<pre data-line="" class="highlight-height language-markup ">
				<code readonly="true" class="language-markup">
					<xmp>.  monthID month  sales
1       1   Jan  90000
2       2   Feb 127000
3       3   Mar 100000
4       4   Apr  92000
5       5   May 160000
6       6   Jun 169000</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-aa31068 elementor-widget elementor-widget-text-editor" data-id="aa31068" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>برای محاسبه درصد میزان رشد (یا کاهش) فروش ماهانه کافی است ستونی جدید درست کنیم که حاصل تفریق ماه جاری از فروش ماه قبل، تقسیم بر میزان فروش ماه قبل باشد.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-eae29cd elementor-widget elementor-widget-code-highlight" data-id="eae29cd" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-r line-numbers">
				<code readonly="true" class="language-r">
					<xmp>library(dplyr)
data %>%
  mutate(
    sales_change_percent = ((sales - lag(sales)) / lag(sales) * 100)
    )
</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-f6aa320 elementor-widget elementor-widget-code-highlight" data-id="f6aa320" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow  ">
			<pre data-line="" class="highlight-height language-markup ">
				<code readonly="true" class="language-markup">
					<xmp>.  monthID month  sales sales_change_percent
1       1   Jan  90000                   NA
2       2   Feb 127000             41.11111
3       3   Mar 100000            -21.25984
4       4   Apr  92000             -8.00000
5       5   May 160000             73.91304
6       6   Jun 169000              5.62500</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-42a13da elementor-widget elementor-widget-text-editor" data-id="42a13da" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>می‌توانید با استفاده از تابع <code>round</code> مقدار درصد محاسبه شده را به عدد صحیح رند کنید.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-9f4fec5 elementor-widget elementor-widget-code-highlight" data-id="9f4fec5" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-r line-numbers">
				<code readonly="true" class="language-r">
					<xmp>data %>%
  mutate(
    sales_change_percent = round(((sales - lag(sales)) / lag(sales) * 100))
    )</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-1e281a3 elementor-widget elementor-widget-code-highlight" data-id="1e281a3" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow  ">
			<pre data-line="" class="highlight-height language-markup ">
				<code readonly="true" class="language-markup">
					<xmp>.  monthID month  sales sales_change_percent
1       1   Jan  90000                   NA
2       2   Feb 127000                   41
3       3   Mar 100000                  -21
4       4   Apr  92000                   -8
5       5   May 160000                   74
6       6   Jun 169000                    6</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-af4e42b elementor-widget elementor-widget-text-editor" data-id="af4e42b" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p> </p><p> </p><p> </p><p> </p><p>Photo by <a href="https://unsplash.com/@isaacmsmith?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText" rel="nofollow noopener" target="_blank">Isaac Smith</a> on <a href="https://unsplash.com/photos/AT77Q0Njnt0?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText" rel="nofollow noopener" target="_blank">Unsplash</a></p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>The post <a rel="nofollow" href="https://d-learn.ir/p/lead-lag-r/">چطور نرخ رشد فروش را در R  محاسبه کنیم؟</a> appeared first on <a rel="nofollow" href="https://d-learn.ir">مدرسه پردازش و تحلیل داده دقیقه</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://d-learn.ir/p/lead-lag-r/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>چطور مقادیر یک ستون را در R عوض کنیم؟</title>
		<link>https://d-learn.ir/p/how-to-replace-values-r/</link>
					<comments>https://d-learn.ir/p/how-to-replace-values-r/#respond</comments>
		
		<dc:creator><![CDATA[بهمن اجدری]]></dc:creator>
		<pubDate>Thu, 17 Aug 2023 08:32:07 +0000</pubDate>
				<category><![CDATA[پرانتز]]></category>
		<category><![CDATA[جعبه‌ابزار]]></category>
		<category><![CDATA[R]]></category>
		<category><![CDATA[آر]]></category>
		<category><![CDATA[آمار و تحلیل داده در R]]></category>
		<category><![CDATA[آموزش R]]></category>
		<category><![CDATA[آموزش زبان R]]></category>
		<guid isPermaLink="false">https://d-learn.ir/?p=45455</guid>

					<description><![CDATA[<p>در هنگام کار با داده‌ها بعضی مواقع لازم است مقادیر یک ستون را به مقداری دیگر تغییر دهیم. این شرایط معمولا هنگام پاکسازی داده‌ها بوجود می‌آید. برای نمونه به دیتافریم زیر نگاه کنید: df</p>
<p>The post <a rel="nofollow" href="https://d-learn.ir/p/how-to-replace-values-r/">چطور مقادیر یک ستون را در R عوض کنیم؟</a> appeared first on <a rel="nofollow" href="https://d-learn.ir">مدرسه پردازش و تحلیل داده دقیقه</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="45455" class="elementor elementor-45455" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-7812250 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="7812250" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7ee22de" data-id="7ee22de" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-8c945b1 elementor-widget elementor-widget-text-editor" data-id="8c945b1" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>در هنگام کار با داده‌ها بعضی مواقع لازم است مقادیر یک ستون را به مقداری دیگر تغییر دهیم. این شرایط معمولا هنگام پاکسازی داده‌ها بوجود می‌آید. برای نمونه به دیتافریم زیر نگاه کنید:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-7386e2d elementor-widget elementor-widget-code-highlight" data-id="7386e2d" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-r line-numbers">
				<code readonly="true" class="language-r">
					<xmp>df <- data.frame(
  age = c(10, 12 , 14 , 13),
  gender = c("zan", "mard" , "zan" , "mard")
)

df</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-6f2fb0c elementor-widget elementor-widget-code-highlight" data-id="6f2fb0c" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow  ">
			<pre data-line="" class="highlight-height language-markup ">
				<code readonly="true" class="language-markup">
					<xmp>.  age gender1  10    zan2  12   mard3  14    zan4  13   mard</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-0d74182 elementor-widget elementor-widget-text-editor" data-id="0d74182" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>می‌خواهیم در ستون <code>gender </code> دو کلمه <code>male</code>  و <code>female</code> را جایگزین <code>mard</code> و <code>zan</code> کنیم.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-b554c46 elementor-widget elementor-widget-heading" data-id="b554c46" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">روش اول: استفاده از دستورات پایه‌ای در R</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-15ee902 elementor-widget elementor-widget-code-highlight" data-id="15ee902" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-r line-numbers">
				<code readonly="true" class="language-r">
					<xmp>df$gender[df$gender == "mard"] = "male"
df$gender[df$gender == "zan"] = "female"

df</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-e6ab764 elementor-widget elementor-widget-code-highlight" data-id="e6ab764" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow  ">
			<pre data-line="" class="highlight-height language-markup ">
				<code readonly="true" class="language-markup">
					<xmp>.  age gender1  10 female2  12   male3  14 female4  13   male</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-73fec90 elementor-widget elementor-widget-heading" data-id="73fec90" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">روش دوم: استفاده از ifelse</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-6a22da4 elementor-widget elementor-widget-code-highlight" data-id="6a22da4" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-r line-numbers">
				<code readonly="true" class="language-r">
					<xmp>df <- data.frame(
  age = c(10, 12 , 14 , 13),
  gender = c("zan", "mard" , "zan" , "mard")
)

df$gender <- ifelse(df$gender == "zan", "female", "male")

df</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-14af351 elementor-widget elementor-widget-code-highlight" data-id="14af351" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow  ">
			<pre data-line="" class="highlight-height language-markup ">
				<code readonly="true" class="language-markup">
					<xmp>.  age gender1  10 female2  12   male3  14 female4  13   male</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-4b0172f elementor-widget elementor-widget-heading" data-id="4b0172f" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">روش سوم: استفاده از دستور replace</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-fadaa73 elementor-widget elementor-widget-code-highlight" data-id="fadaa73" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-r line-numbers">
				<code readonly="true" class="language-r">
					<xmp>df <- data.frame(
  age = c(10, 12 , 14 , 13),
  gender = c("zan", "mard" , "zan" , "mard")
)

df$gender <- replace(df$gender, df$gender == "zan", "female")
df$gender <- replace(df$gender, df$gender == "mard", "male")

df</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-6203a40 elementor-widget elementor-widget-code-highlight" data-id="6203a40" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow  ">
			<pre data-line="" class="highlight-height language-markup ">
				<code readonly="true" class="language-markup">
					<xmp>  age gender1  10 female2  12   male3  14 female4  13   male</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-e1485a0 elementor-widget elementor-widget-heading" data-id="e1485a0" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">روش سوم: استفاده از کتابخانه dplyr</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-433fe4d elementor-widget elementor-widget-code-highlight" data-id="433fe4d" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-r line-numbers">
				<code readonly="true" class="language-r">
					<xmp>library(dplyr)

df <- data.frame(
  age = c(10, 12 , 14 , 13),
  gender = c("zan", "mard" , "zan" , "mard")
)

df <- df %>%
  mutate(gender = case_when(
    gender == "zan" ~ "female",
    gender == "mard" ~ "male",
    TRUE ~ gender
  ))
  
df</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-25aba79 elementor-widget elementor-widget-code-highlight" data-id="25aba79" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow  ">
			<pre data-line="" class="highlight-height language-markup ">
				<code readonly="true" class="language-markup">
					<xmp>.  age gender1  10 female2  12   male3  14 female4  13   male</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>The post <a rel="nofollow" href="https://d-learn.ir/p/how-to-replace-values-r/">چطور مقادیر یک ستون را در R عوض کنیم؟</a> appeared first on <a rel="nofollow" href="https://d-learn.ir">مدرسه پردازش و تحلیل داده دقیقه</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://d-learn.ir/p/how-to-replace-values-r/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>چطور می‌توان یک تابع را روی چند ستون اعمال کرد؟</title>
		<link>https://d-learn.ir/p/across-function/</link>
					<comments>https://d-learn.ir/p/across-function/#respond</comments>
		
		<dc:creator><![CDATA[بهمن اجدری]]></dc:creator>
		<pubDate>Sun, 02 Jul 2023 07:16:45 +0000</pubDate>
				<category><![CDATA[اخبار]]></category>
		<category><![CDATA[پرانتز]]></category>
		<category><![CDATA[جعبه‌ابزار]]></category>
		<category><![CDATA[آمار و تحلیل داده با R]]></category>
		<category><![CDATA[آموزش R]]></category>
		<guid isPermaLink="false">https://d-learn.ir/?p=41998</guid>

					<description><![CDATA[<p>تحلیل‌گران داده معمولا در موقعیتی قرار می‌گیرند که لازم است یک تابع را روی چند ستون اعمال کنند. مثلا لازم است میانگین چند ستون را به صورت همزمان محاسبه کنند. این کار برای یک یا چند ستون ساده است. اما وقتی تعداد ستون‌ها زیاد باشد یا اگر بیشتر از یک تابع را بخواهید اعمال کنید [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://d-learn.ir/p/across-function/">چطور می‌توان یک تابع را روی چند ستون اعمال کرد؟</a> appeared first on <a rel="nofollow" href="https://d-learn.ir">مدرسه پردازش و تحلیل داده دقیقه</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="41998" class="elementor elementor-41998" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-9c03116 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="9c03116" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5497a44" data-id="5497a44" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-f58ffe7 elementor-widget elementor-widget-text-editor" data-id="f58ffe7" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>تحلیل‌گران داده معمولا در موقعیتی قرار می‌گیرند که لازم است یک تابع را روی چند ستون اعمال کنند. مثلا لازم است میانگین چند ستون را به صورت همزمان محاسبه کنند. این کار برای یک یا چند ستون ساده است. اما وقتی تعداد ستون‌ها زیاد باشد یا اگر بیشتر از یک تابع را بخواهید اعمال کنید ممکن است زمان بر و طاقت فرسا باشد. این‌کار در <code>R</code> با استفاده از تابع <code>across</code> ساده است. داده‌های زیر را ببینید:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-0f75e0a elementor-widget elementor-widget-code-highlight" data-id="0f75e0a" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-r line-numbers">
				<code readonly="true" class="language-r">
					<xmp>iris</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-3f7e83e elementor-widget elementor-widget-code-highlight" data-id="3f7e83e" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow  ">
			<pre data-line="" class="highlight-height language-markup ">
				<code readonly="true" class="language-markup">
					<xmp>.  Sepal.Length Sepal.Width Petal.Length Petal.Width Species1          5.1         3.5          1.4         0.2  setosa2          4.9         3.0          1.4         0.2  setosa3          4.7         3.2          1.3         0.2  setosa4          4.6         3.1          1.5         0.2  setosa5          5.0         3.6          1.4         0.2  setosa6          5.4         3.9          1.7         0.4  setosa</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-6befab4 elementor-widget elementor-widget-text-editor" data-id="6befab4" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>می‌خواهیم میانگین ستون‌های <code>Sepal.Length</code> و <code>Petal.Length</code> را محاسبه کنیم. این دو مقدار طول کاسبرگ‌ها و گلبرگ‌های گل زنبق هستند!</p><p>می‌توانید از تابع summarise برای بدست آوردن میانگین استفاده کنید:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-14541a3 elementor-widget elementor-widget-code-highlight" data-id="14541a3" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-r line-numbers">
				<code readonly="true" class="language-r">
					<xmp>library(dplyr)
iris |>
  summarise(mean(Sepal.Length),
            mean(Petal.Length))</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-4544224 elementor-widget elementor-widget-code-highlight" data-id="4544224" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow  ">
			<pre data-line="" class="highlight-height language-markup ">
				<code readonly="true" class="language-markup">
					<xmp>.  mean(Sepal.Length) mean(Petal.Length)1           5.843333              3.758</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-8d73cfe elementor-widget elementor-widget-text-editor" data-id="8d73cfe" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>با استفاده از تابع <code>across</code> میتوانید این کد را به صورت زیر بنویسید:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-f282753 elementor-widget elementor-widget-code-highlight" data-id="f282753" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-r line-numbers">
				<code readonly="true" class="language-r">
					<xmp>iris |>
  summarise(across(c(Sepal.Length, Petal.Length),
                   .fns = mean))</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-8499726 elementor-widget elementor-widget-code-highlight" data-id="8499726" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-markup line-numbers">
				<code readonly="true" class="language-markup">
					<xmp>.  Sepal.Length Petal.Length1     5.843333        3.758</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-8803d81 elementor-widget elementor-widget-text-editor" data-id="8803d81" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>وجه تمایز تابع <code>across</code> در آن است که شما می‌توانید از توابع دیگر کتابخانه <code>dplyr</code> در آن نیز استفاده کنید. مثلا در مثالی که در دست داریم می‌توانیم تنها ستون‌هایی که با عبارت <code>length</code> خاتمه پیدا می‌کنند را انتخاب کنیم و نتیجه مشابهی را بدست بیاوریم. </p>								</div>
				</div>
				<div class="elementor-element elementor-element-2b6c90b elementor-widget elementor-widget-code-highlight" data-id="2b6c90b" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-r line-numbers">
				<code readonly="true" class="language-r">
					<xmp>iris |>
  summarise(across(ends_with("Length"), 
                   .fns = mean))</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-8f627d4 elementor-widget elementor-widget-code-highlight" data-id="8f627d4" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow  ">
			<pre data-line="" class="highlight-height language-markup ">
				<code readonly="true" class="language-markup">
					<xmp>.  Sepal.Length Petal.Length1     5.843333        3.758</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-6811982 elementor-widget elementor-widget-text-editor" data-id="6811982" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>همچنین می‌توانید محدوده مشخصی از داده‌ها را برای اعمال تابع دلخواه خود مشخص کنید. فرض کنید می‌خواهید روی تمام ستون‌های مجموعه داده‌های iris میانگین را محاسبه کنید:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-6d6d5ca elementor-widget elementor-widget-code-highlight" data-id="6d6d5ca" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-r line-numbers">
				<code readonly="true" class="language-r">
					<xmp>iris |>
  summarise(across(Sepal.Length:Petal.Width, 
                   .fns = mean))</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-adbc587 elementor-widget elementor-widget-code-highlight" data-id="adbc587" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow  ">
			<pre data-line="" class="highlight-height language-markup ">
				<code readonly="true" class="language-markup">
					<xmp>  Sepal.Length Sepal.Width Petal.Length Petal.Width1     5.843333    3.057333        3.758    1.199333</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-e87bb82 elementor-widget elementor-widget-text-editor" data-id="e87bb82" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>حتی برای ساده‌تر شدن می‌توانید تنها ستون‌هایی که خاصیتی مشخص دارند را انتخاب کنید. در مثالی که در دست داریم می‌توانیم تنها ستون‌هایی که عددی هستند را برای محاسبه میانگین استفاده کنیم.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-e466297 elementor-widget elementor-widget-code-highlight" data-id="e466297" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-r line-numbers">
				<code readonly="true" class="language-r">
					<xmp>iris |>
  summarise(across(where(is.numeric), 
                   .fns = mean))</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-73f93f6 elementor-widget elementor-widget-code-highlight" data-id="73f93f6" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow  ">
			<pre data-line="" class="highlight-height language-markup ">
				<code readonly="true" class="language-markup">
					<xmp>.  Sepal.Length Sepal.Width Petal.Length Petal.Width1     5.843333    3.057333        3.758    1.199333</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-29358c7 elementor-widget elementor-widget-text-editor" data-id="29358c7" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>قدرت تابع <code>across</code> زمانی بیشتر مشخص می‌شود که شما بخواهید بیشتر از یک تابع را روی دسته‌ای از ستون‌ها اعمال کنید. با استفاده از خاصیت لیست‌ این کار ساده است. در مثالی که در دست داریم می‌خواهیم علاوه بر میانگین، انحراف معیار را نیز برای طول گلبرگ و کاسبرگ را محاسبه کنیم.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-dbc7a77 elementor-widget elementor-widget-code-highlight" data-id="dbc7a77" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-r line-numbers">
				<code readonly="true" class="language-r">
					<xmp>iris |>
  summarise(across(ends_with("Length"),
                   .fns = list(mean = mean, sd = sd)))</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-dc77e93 elementor-widget elementor-widget-code-highlight" data-id="dc77e93" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow  ">
			<pre data-line="" class="highlight-height language-markup ">
				<code readonly="true" class="language-markup">
					<xmp>.  Sepal.Length_mean Sepal.Length_sd Petal.Length_mean Petal.Length_sd1          5.843333       0.8280661             3.758        1.765298</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-cb836b2 elementor-widget elementor-widget-text-editor" data-id="cb836b2" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>از تابع <code>across</code> می‌توانید در دیگر توابع کتابخانه <code>dplyr</code> مانند <code>mutate</code> نیز استفاده کنید. این کار باعث کوتاه‌تر و ساده‌تر شدن راه حل‌ها می‌شود. </p>								</div>
				</div>
				<div class="elementor-element elementor-element-9ea7dfb elementor-widget elementor-widget-etlms-course-list tutor-addon etlms-course-list" data-id="9ea7dfb" data-element_type="widget" data-e-type="widget" data-widget_type="etlms-course-list.default">
				<div class="elementor-widget-container">
					<div class="tutor-wrap tutor-courses-wrap tutor-container etlms-course-list-main-wrap">
			<div class="etlms-course-list-loop-wrap tutor-course-list tutor-grid tutor-grid-3">
							<div class="etlms-course-list-col">
					<div class="tutor-card tutor-course-card tutor-loop-course-container etlms-course-card-classic   etlms-has-hover-animation">
    		<div class="tutor-course-thumbnail">
		<a href="https://d-learn.ir/courses/r-stats-intro/" class="tutor-d-block">
			<div class="tutor-ratio tutor-ratio-16x9">
				<img decoding="async" class="tutor-card-image-top" src="https://d-learn.ir/wp-content/uploads/2022/06/stats-r-768x403.png" alt="آشنایی با آمار در R" loading="lazy" title="چطور می‌توان یک تابع را روی چند ستون اعمال کرد؟ 72">
			</div>
		</a>
			</div>

    <div class="tutor-card-body">
        <h3 class="tutor-course-name tutor-fs-5 tutor-fw-medium tutor-mb-12" title="آشنایی با آمار در R">
    <a href="https://d-learn.ir/courses/r-stats-intro/">آشنایی با آمار در R</a>
</h3>
<div class="tutor-meta tutor-mt-auto sm-loop-instructors">
			<div class="sm-instructors-inline sm-instructors-grid-2">
            <span class="sm-instructor-chip">
                            <a class="sm-instructor-avatar" href="https://d-learn.ir/profile/alirezakd?view=student">
                    <div class="tutor-avatar"><div class="tutor-ratio tutor-ratio-1x1"><img decoding="async" src="https://d-learn.ir/wp-content/uploads/2022/01/Teachers-Alireza-Kadivar-O1-150x150.png" alt="علیرضا کدیور" title="چطور می‌توان یک تابع را روی چند ستون اعمال کرد؟ 73"> </div></div>                </a>
                        <a class="sm-instructor-name" href="https://d-learn.ir/profile/alirezakd?view=student">
                علیرضا کدیور            </a>
        </span>
            </div>
	
	</div>
    </div>

    </div>				</div>
							<div class="etlms-course-list-col">
					<div class="tutor-card tutor-course-card tutor-loop-course-container etlms-course-card-classic   etlms-has-hover-animation">
    		<div class="tutor-course-thumbnail">
		<a href="https://d-learn.ir/courses/rmdatv/" class="tutor-d-block">
			<div class="tutor-ratio tutor-ratio-16x9">
				<img decoding="async" class="tutor-card-image-top" src="https://d-learn.ir/wp-content/uploads/2025/11/rmdat-768x442.png" alt="دوره جامع طراحی و تحلیل کارآزمایی بالینی با R" loading="lazy" title="چطور می‌توان یک تابع را روی چند ستون اعمال کرد؟ 74">
			</div>
		</a>
			</div>

    <div class="tutor-card-body">
        <h3 class="tutor-course-name tutor-fs-5 tutor-fw-medium tutor-mb-12" title="دوره جامع طراحی و تحلیل کارآزمایی بالینی با R">
    <a href="https://d-learn.ir/courses/rmdatv/">دوره جامع طراحی و تحلیل کارآزمایی بالینی با R</a>
</h3>
<div class="tutor-meta tutor-mt-auto sm-loop-instructors">
			<div class="sm-instructors-inline sm-instructors-grid-2">
            <span class="sm-instructor-chip">
                            <a class="sm-instructor-avatar" href="https://d-learn.ir/profile/ebrahimv86?view=student">
                    <div class="tutor-avatar"><div class="tutor-ratio tutor-ratio-1x1"><img decoding="async" src="https://d-learn.ir/wp-content/uploads/2023/12/Amene-Ebrahim-150x150.png" alt="آمنه ابراهیم ولوجردی" title="چطور می‌توان یک تابع را روی چند ستون اعمال کرد؟ 75"> </div></div>                </a>
                        <a class="sm-instructor-name" href="https://d-learn.ir/profile/ebrahimv86?view=student">
                آمنه ابراهیم ولوجردی            </a>
        </span>
                    <span class="sm-instructor-chip">
                            <a class="sm-instructor-avatar" href="https://d-learn.ir/profile/tanhakiarash?view=student">
                    <div class="tutor-avatar"><div class="tutor-ratio tutor-ratio-1x1"><img decoding="async" src="https://d-learn.ir/wp-content/uploads/2024/09/kiarash-150x150.png" alt="کیارش تنها" title="چطور می‌توان یک تابع را روی چند ستون اعمال کرد؟ 76"> </div></div>                </a>
                        <a class="sm-instructor-name" href="https://d-learn.ir/profile/tanhakiarash?view=student">
                کیارش تنها            </a>
        </span>
                    <span class="sm-instructor-chip">
                            <a class="sm-instructor-avatar" href="https://d-learn.ir/profile/alirezakd?view=student">
                    <div class="tutor-avatar"><div class="tutor-ratio tutor-ratio-1x1"><img decoding="async" src="https://d-learn.ir/wp-content/uploads/2022/01/Teachers-Alireza-Kadivar-O1-150x150.png" alt="علیرضا کدیور" title="چطور می‌توان یک تابع را روی چند ستون اعمال کرد؟ 73"> </div></div>                </a>
                        <a class="sm-instructor-name" href="https://d-learn.ir/profile/alirezakd?view=student">
                علیرضا کدیور            </a>
        </span>
            </div>
	
	</div>
    </div>

    </div>				</div>
							<div class="etlms-course-list-col">
					<div class="tutor-card tutor-course-card tutor-loop-course-container etlms-course-card-classic   etlms-has-hover-animation">
    		<div class="tutor-course-thumbnail">
		<a href="https://d-learn.ir/courses/datatable" class="tutor-d-block">
			<div class="tutor-ratio tutor-ratio-16x9">
				<img decoding="async" class="tutor-card-image-top" src="https://d-learn.ir/wp-content/uploads/2025/09/data.table_-768x403.png" alt="پردازش داده با data.table در R" loading="lazy" title="چطور می‌توان یک تابع را روی چند ستون اعمال کرد؟ 78">
			</div>
		</a>
			</div>

    <div class="tutor-card-body">
        <h3 class="tutor-course-name tutor-fs-5 tutor-fw-medium tutor-mb-12" title="پردازش داده با data.table در R">
    <a href="https://d-learn.ir/courses/datatable">پردازش داده با data.table در R</a>
</h3>
<div class="tutor-meta tutor-mt-auto sm-loop-instructors">
			<div class="sm-instructors-inline sm-instructors-grid-2">
            <span class="sm-instructor-chip">
                            <a class="sm-instructor-avatar" href="https://d-learn.ir/profile/alirezachamanzar-2?view=student">
                    <div class="tutor-avatar"><div class="tutor-ratio tutor-ratio-1x1"><img decoding="async" src="https://d-learn.ir/wp-content/uploads/2025/08/Alireza.Chamanzar-150x150.png" alt="علیرضا چمن‌زار" title="چطور می‌توان یک تابع را روی چند ستون اعمال کرد؟ 79"> </div></div>                </a>
                        <a class="sm-instructor-name" href="https://d-learn.ir/profile/alirezachamanzar-2?view=student">
                علیرضا چمن‌زار            </a>
        </span>
            </div>
	
	</div>
    </div>

    </div>				</div>
					</div>

				
	<input type="hidden" id="etlms_enroll_btn_type" value="">
	<input type="hidden" id="etlms_enroll_btn_cart" value="">
</div>
				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>The post <a rel="nofollow" href="https://d-learn.ir/p/across-function/">چطور می‌توان یک تابع را روی چند ستون اعمال کرد؟</a> appeared first on <a rel="nofollow" href="https://d-learn.ir">مدرسه پردازش و تحلیل داده دقیقه</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://d-learn.ir/p/across-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ایجاد جداول کاربردی با R</title>
		<link>https://d-learn.ir/p/rgt/</link>
					<comments>https://d-learn.ir/p/rgt/#respond</comments>
		
		<dc:creator><![CDATA[زهرا اسماعیلی]]></dc:creator>
		<pubDate>Sat, 20 May 2023 14:36:08 +0000</pubDate>
				<category><![CDATA[پرانتز]]></category>
		<category><![CDATA[جعبه‌ابزار]]></category>
		<category><![CDATA[جدول]]></category>
		<category><![CDATA[جدول در R]]></category>
		<category><![CDATA[گزارش نویسی]]></category>
		<guid isPermaLink="false">https://d-learn.ir/?p=22214</guid>

					<description><![CDATA[<p>جداول یکی از کاربردی‌ترین و محبوب‌ترین روش‌های نمایش داده‌ها در گزارش‌ها و مقالات است. فرقی نمی‌کند شما از جداول در گزارش‌های مکتوب و مقالات استفاده می‌کنید و یا در صفحات وب. جداول کاربردی و در عین حال زیبا می‌تواند برای خوانندگان بسیار جذاب و راهنمایی کننده باشد. از طرفی مصورسازی داده‌ها نیز می‌تواند به درک [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://d-learn.ir/p/rgt/">ایجاد جداول کاربردی با R</a> appeared first on <a rel="nofollow" href="https://d-learn.ir">مدرسه پردازش و تحلیل داده دقیقه</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="22214" class="elementor elementor-22214" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-13dba2c elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="13dba2c" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-df0c434" data-id="df0c434" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-11e5dbb elementor-widget elementor-widget-text-editor" data-id="11e5dbb" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>جداول یکی از کاربردی‌ترین و محبوب‌ترین روش‌های نمایش داده‌ها در گزارش‌ها و مقالات است. فرقی نمی‌کند شما از جداول در گزارش‌های مکتوب و مقالات استفاده می‌کنید و یا در صفحات وب. جداول کاربردی و در عین حال زیبا می‌تواند برای خوانندگان بسیار جذاب و راهنمایی کننده باشد. از طرفی مصورسازی داده‌ها نیز می‌تواند به درک بیشتر از داده کمک کند. حالا اگر بتوانیم جداول و مصورسازی را با هم ترکیب کنیم احتمالا بتوانیم عملکرد بهتری را انتظار داشته باشیم. </p><p>کتابخانه gt در R  یکی از کتابخانه‌های محبوب برای رسم جداول کاربردی است. شما در این کتاب‌خانه علاوه بر کنترل کاملی که روی ستون‌ها دارید می‌توانید از مصورسازی نیز در آن‌ها بهره ببرید.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-903656e elementor-widget elementor-widget-heading" data-id="903656e" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">نصب و راه اندازی کتابخانه</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-312aa77 elementor-widget elementor-widget-text-editor" data-id="312aa77" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>برای استفاده از کتابخانه gt باید ابتدا آن را نصب کنید. این کار تنها برای یکبار کافی است.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-d193960 elementor-widget elementor-widget-code-highlight" data-id="d193960" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-r line-numbers">
				<code readonly="true" class="language-r">
					<xmp>install.packages("gt")
install.packages("gtextras")</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-085a05d elementor-widget elementor-widget-text-editor" data-id="085a05d" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>حالا چند کتابخانه که در این درس‌نامه استفاده می‌شود را فراخوانی می‌کنیم.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-e565e25 elementor-widget elementor-widget-code-highlight" data-id="e565e25" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-r line-numbers">
				<code readonly="true" class="language-r">
					<xmp>library(gt)
library(tibble)
library(gtExtras)
library(dplyr)
library(tidyr)</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-0c1ce86 elementor-widget elementor-widget-heading" data-id="0c1ce86" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">رسم جداول با gt</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-1b7e221 elementor-widget elementor-widget-text-editor" data-id="1b7e221" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>برای سادگی در این درس‌نامه از داده‌های از پیش آماده در R  استفاده می‌کنیم. بیایید نگاهی به ۱۰ ردیف اول داده‌ها بیاندازیم. </p>								</div>
				</div>
				<div class="elementor-element elementor-element-5296d20 elementor-widget elementor-widget-code-highlight" data-id="5296d20" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-javascript line-numbers">
				<code readonly="true" class="language-javascript">
					<xmp>head(mtcars, 10)</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-b8856e2 elementor-widget elementor-widget-code-highlight" data-id="b8856e2" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow  ">
			<pre data-line="" class="highlight-height language-markup ">
				<code readonly="true" class="language-markup">
					<xmp>.                   mpg cyl  disp  hp drat    wt  qsec vs am gear carb
Mazda RX4         21.0   6 160.0 110 3.90 2.620 16.46  0  1    4    4
Mazda RX4 Wag     21.0   6 160.0 110 3.90 2.875 17.02  0  1    4    4
Datsun 710        22.8   4 108.0  93 3.85 2.320 18.61  1  1    4    1
Hornet 4 Drive    21.4   6 258.0 110 3.08 3.215 19.44  1  0    3    1
Hornet Sportabout 18.7   8 360.0 175 3.15 3.440 17.02  0  0    3    2
Valiant           18.1   6 225.0 105 2.76 3.460 20.22  1  0    3    1
Duster 360        14.3   8 360.0 245 3.21 3.570 15.84  0  0    3    4
Merc 240D         24.4   4 146.7  62 3.69 3.190 20.00  1  0    4    2
Merc 230          22.8   4 140.8  95 3.92 3.150 22.90  1  0    4    2
Merc 280          19.2   6 167.6 123 3.92 3.440 18.30  1  0    4    4</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-d9b8cd7 elementor-widget elementor-widget-text-editor" data-id="d9b8cd7" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>برای اینکه این جدول را تنها کمی بیشتر مناسب نمایش کنیم می‌توانیم به این صورت عمل کنیم.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-4fe4031 elementor-widget elementor-widget-code-highlight" data-id="4fe4031" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-r line-numbers">
				<code readonly="true" class="language-r">
					<xmp>gt=mtcars %>%
  head(10) %>%
  gt()

gt</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-8a51685 elementor-widget elementor-widget-image" data-id="8a51685" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="627" height="494" src="https://d-learn.ir/wp-content/uploads/2023/05/gt-base.png" class="attachment-large size-large wp-image-22255" alt="gt base | ایجاد جداول کاربردی با R" srcset="https://d-learn.ir/wp-content/uploads/2023/05/gt-base.png 627w, https://d-learn.ir/wp-content/uploads/2023/05/gt-base-300x236.png 300w" sizes="auto, (max-width: 627px) 100vw, 627px" title="ایجاد جداول کاربردی با R 89">															</div>
				</div>
				<div class="elementor-element elementor-element-45b53aa elementor-widget elementor-widget-text-editor" data-id="45b53aa" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>همانطور که می بینید جدول ظاهر ساده ای دارد و برای جدول نهایی  میتوانیم آیتم های دیگری را نیز به آن اضافه کنیم. به طور مثال با استفاده از این دستور میتوانیم یک یا چند ستون را از جدول حذف کنیم و نامگذاری آن ها را نیز تغییر دهیم.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-f08afb0 elementor-widget elementor-widget-code-highlight" data-id="f08afb0" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-javascript line-numbers">
				<code readonly="true" class="language-javascript">
					<xmp>gt=gt %>%
cols_hide(columns = c(am,vs,qsec,gear,carb))%>%
cols_label(mpg= "Mile Per Galon",cyl="CYL")

gt</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-42e6e88 elementor-widget elementor-widget-image" data-id="42e6e88" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="543" height="538" src="https://d-learn.ir/wp-content/uploads/2023/05/gt-hide.png" class="attachment-large size-large wp-image-22263" alt="gt hide | ایجاد جداول کاربردی با R" srcset="https://d-learn.ir/wp-content/uploads/2023/05/gt-hide.png 543w, https://d-learn.ir/wp-content/uploads/2023/05/gt-hide-300x297.png 300w, https://d-learn.ir/wp-content/uploads/2023/05/gt-hide-150x150.png 150w" sizes="auto, (max-width: 543px) 100vw, 543px" title="ایجاد جداول کاربردی با R 90">															</div>
				</div>
				<div class="elementor-element elementor-element-63a1290 elementor-widget elementor-widget-text-editor" data-id="63a1290" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>اگر بخواهیم یا برای جدول عنوان بگذاریم  و کمی استایل جدول را عوض کنیم نیز می توانیم از این دستور استفاده کنیم</p>								</div>
				</div>
				<div class="elementor-element elementor-element-11f7723 elementor-widget elementor-widget-code-highlight" data-id="11f7723" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-r line-numbers">
				<code readonly="true" class="language-r">
					<xmp>gt=gt%>%
tab_header(
title = "Mtcars",
subtitle = "GT Table")%>%
tab_style(
locations = cells_column_labels(columns = everything()),
style = list(
cell_borders(sides = "bottom", weight = px(3)),
cell_text(weight = "bold"))) %>% 
tab_style(
locations = cells_title(groups = "title"),
style     = list(
cell_text(weight = "bold", size = 24)))

gt</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-e01ca9f elementor-widget elementor-widget-image" data-id="e01ca9f" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="597" height="532" src="https://d-learn.ir/wp-content/uploads/2023/05/gt-title.png" class="attachment-large size-large wp-image-22273" alt="gt title | ایجاد جداول کاربردی با R" srcset="https://d-learn.ir/wp-content/uploads/2023/05/gt-title.png 597w, https://d-learn.ir/wp-content/uploads/2023/05/gt-title-300x267.png 300w" sizes="auto, (max-width: 597px) 100vw, 597px" title="ایجاد جداول کاربردی با R 91">															</div>
				</div>
				<div class="elementor-element elementor-element-367c866 elementor-widget elementor-widget-text-editor" data-id="367c866" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>برای اضافه کردن منبع داده ها به جدول و همچنین تغییر حاشیه ی جدول از کدهای زیر استفاده میکنیم.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-8c40d13 elementor-widget elementor-widget-code-highlight" data-id="8c40d13" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-r line-numbers">
				<code readonly="true" class="language-r">
					<xmp>gt=gt%>%
tab_source_note(source_note = "Data: Mtcars Data ")%>%
  opt_all_caps() %>% 
  #Change the width of columns
  cols_width(c(mpg) ~ px(150),
             c(cyl) ~ px(400))%>% 
  tab_options(
    #Remove border between column headers and title
    column_labels.border.top.width = px(3),
    column_labels.border.top.color = "transparent",
    #Remove border around table
    table.border.top.color = "transparent",
    table.border.bottom.color = "transparent",
    #Reduce the height of rows
    data_row.padding = px(3),
    #Adjust font sizes and alignment
    source_notes.font.size = 12,
    heading.align = "Center" )
  

gt</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-b3d139e elementor-widget elementor-widget-image" data-id="b3d139e" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="583" height="530" src="https://d-learn.ir/wp-content/uploads/2023/05/gt-caption.png" class="attachment-large size-large wp-image-22279" alt="gt caption | ایجاد جداول کاربردی با R" srcset="https://d-learn.ir/wp-content/uploads/2023/05/gt-caption.png 583w, https://d-learn.ir/wp-content/uploads/2023/05/gt-caption-300x273.png 300w" sizes="auto, (max-width: 583px) 100vw, 583px" title="ایجاد جداول کاربردی با R 92">															</div>
				</div>
				<div class="elementor-element elementor-element-831af55 elementor-widget elementor-widget-heading" data-id="831af55" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">استفاده از مصورسازی در جداول</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-bcdc0ea elementor-widget elementor-widget-text-editor" data-id="bcdc0ea" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>گاهی اوقات پیش می آید که نیاز داریم جدولی را رسم کنیم که در آن تعداد مشاهده ها زیاد است و کشیدن جدول ساده ممکن است باعث گیج شدن و بی توجهی مخاطب شود. به عنوان مثال دیتا ست زیر را در نظر بگیرید. همانطور که میبینید جدول کشیدن برای این نوع دیتا بهینه نیست و نمی تواند دیتا را به طور مناسب به خواننده ارایه کند.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-682ae63 elementor-widget elementor-widget-code-highlight" data-id="682ae63" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-r line-numbers">
				<code readonly="true" class="language-r">
					<xmp>sample=data.frame(x=rnorm(300,20,6),ID=rep(seq(1,30,1),each=10),group=rep(LETTERS[1:10],times=30))
sample%>%
spread(key =group,value = x)%>%
gt()</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-379fdc1 elementor-widget elementor-widget-image" data-id="379fdc1" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="800" height="406" src="https://d-learn.ir/wp-content/uploads/2023/05/gt-sample.png" class="attachment-large size-large wp-image-22290" alt="gt sample | ایجاد جداول کاربردی با R" srcset="https://d-learn.ir/wp-content/uploads/2023/05/gt-sample.png 935w, https://d-learn.ir/wp-content/uploads/2023/05/gt-sample-300x152.png 300w, https://d-learn.ir/wp-content/uploads/2023/05/gt-sample-768x389.png 768w" sizes="auto, (max-width: 800px) 100vw, 800px" title="ایجاد جداول کاربردی با R 93">															</div>
				</div>
				<div class="elementor-element elementor-element-381ad5f elementor-widget elementor-widget-text-editor" data-id="381ad5f" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>در این شرایط می توانیم با استفاده از کتابخانه gtExtras  جدول دیگری را رسم کنیم که این اطلاعات را به صورت مناسب تری نمایش دهد.همانطور که مشاهده می کنید با استفاده از دستور فوق میتوانیم با استفاده از همان دیتا جدولی را رسم کنیم که مخاطب در کمترین زمان بتواند اطلاعات مورد هدف ما را متوجه شود. در این جدول در گروه های مختلف متغیر x  مربوط به هر ID نمایش داده شده است.  توجه داشته باشید که برای استفاده از تابع gt_plt_sparkline ، داده ها بایستی در قالب list  باشند.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-4d09cf7 elementor-widget elementor-widget-code-highlight" data-id="4d09cf7" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-r line-numbers">
				<code readonly="true" class="language-r">
					<xmp>library(gtExtras)
sample%>%
  group_by(group) %>%
  summarize(x_list = list(x), .groups = "drop") %>%
  gt() %>%
  gt_plt_sparkline(x_list)</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-7d6adec elementor-widget elementor-widget-image" data-id="7d6adec" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="561" height="492" src="https://d-learn.ir/wp-content/uploads/2023/05/gt-sample-extra.png" class="attachment-large size-large wp-image-22297" alt="gt sample | ایجاد جداول کاربردی با R" srcset="https://d-learn.ir/wp-content/uploads/2023/05/gt-sample-extra.png 561w, https://d-learn.ir/wp-content/uploads/2023/05/gt-sample-extra-300x263.png 300w" sizes="auto, (max-width: 561px) 100vw, 561px" title="ایجاد جداول کاربردی با R 94">															</div>
				</div>
				<div class="elementor-element elementor-element-6d14ad5 elementor-widget elementor-widget-text-editor" data-id="6d14ad5" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>تعییراتی را نیز می توانیم در شکل جدول اعمال کنیم. فرض کنید می خواهیم میانگین متغیر x  را در هر گروه حساب کنیم و در غالب یک ستون به جدول اضافه  کنیم. برای این کار باید بعد از میانگین گرفتن آن ها را به لیست تبدیل کنیم. برای اینکار طبق کد زیر عمل میکنیم.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-c31fcb4 elementor-widget elementor-widget-code-highlight" data-id="c31fcb4" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-r line-numbers">
				<code readonly="true" class="language-r">
					<xmp>sample%>%
  group_by(group) %>%
  summarize(x_list = list(x), .groups = "drop") %>%
  mutate(mean=lapply(x_list,mean))%>%
  gt() %>%
  gt_plt_sparkline(x_list)
</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-9a791a7 elementor-widget elementor-widget-image" data-id="9a791a7" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="601" height="523" src="https://d-learn.ir/wp-content/uploads/2023/05/gt-extra-mean.png" class="attachment-large size-large wp-image-22307" alt="gt extra mean | ایجاد جداول کاربردی با R" srcset="https://d-learn.ir/wp-content/uploads/2023/05/gt-extra-mean.png 601w, https://d-learn.ir/wp-content/uploads/2023/05/gt-extra-mean-300x261.png 300w" sizes="auto, (max-width: 601px) 100vw, 601px" title="ایجاد جداول کاربردی با R 95">															</div>
				</div>
				<div class="elementor-element elementor-element-9115deb elementor-widget elementor-widget-text-editor" data-id="9115deb" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><span style="font-size: 1em;">در خود تابع gt_plt_sparkline  هم میتوانیم تنظیمات نمودارها را عوض کنیم. در اینجا نقاط رنگی روی نمودار و اعداد مشخص شده در انتهای آن ها حذف شده است. همچنین با استفاده از تابع cols_move  می توانیم ترتیب هر یک از ستون ها را تعیین کنیم. همچنین تغییراتی که قبلا در جدول بوجود آوردیم کماکان قابل اجرا است.</span></p>								</div>
				</div>
				<div class="elementor-element elementor-element-95f8452 elementor-widget elementor-widget-code-highlight" data-id="95f8452" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-r line-numbers">
				<code readonly="true" class="language-r">
					<xmp>sample %>%
  group_by(group) %>%
  summarise(x_list=list(x),.groups = "drop")%>%
  mutate(mean=lapply(x_list,mean))%>%
  gt() %>%
  tab_options(column_labels.font.weight = 'bold',
              heading.title.font.size = 14,
              heading.subtitle.font.size = 14,
              table.font.color = 'black',
              source_notes.font.size = 10,
              table.font.size = 14) %>%
  tab_style(
    style = list(
      cell_text(
        align = "center",
        weight = 'bold',
      )
    ),
    locations = list(
      cells_title(groups = c("title"))
    )
  ) %>%
  tab_header(
    title = md("GT SPARKLINE")
  )  %>%
  cols_label(group="Group",x_list="X",mean="Mean")%>%
  gt_plt_sparkline(x_list,label = F,palette = c("black", rep("transparent", 3), "black"))%>%
 cols_move(
    columns =c(mean),
    after =group)</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-6f0f078 elementor-widget elementor-widget-image" data-id="6f0f078" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="583" height="530" src="https://d-learn.ir/wp-content/uploads/2023/05/gt-after.png" class="attachment-large size-large wp-image-22320" alt="gt after | ایجاد جداول کاربردی با R" srcset="https://d-learn.ir/wp-content/uploads/2023/05/gt-after.png 583w, https://d-learn.ir/wp-content/uploads/2023/05/gt-after-300x273.png 300w" sizes="auto, (max-width: 583px) 100vw, 583px" title="ایجاد جداول کاربردی با R 96">															</div>
				</div>
				<div class="elementor-element elementor-element-249ad8d elementor-widget elementor-widget-text-editor" data-id="249ad8d" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>اگر بخواهیم به مثال اول درسنامه برگردیم، برای نمایش روند قدرت اسب بخار در گروه ماشین‌های ۴، ۶ و ۸ سیلندر در قالب جدول می‌توانیم به این صورت عمل کنیم.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-5226c25 elementor-widget elementor-widget-code-highlight" data-id="5226c25" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-r line-numbers">
				<code readonly="true" class="language-r">
					<xmp>mtcars %>%
  group_by(cyl) %>%
  summarise(hp = list(mpg) , .groups = "drop" ) %>%
  gt() %>%
  gt_plt_sparkline(hp)
</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-ff3eb19 elementor-widget elementor-widget-image" data-id="ff3eb19" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="594" height="218" src="https://d-learn.ir/wp-content/uploads/2023/05/gt-cyl.png" class="attachment-large size-large wp-image-22327" alt="gt cyl | ایجاد جداول کاربردی با R" srcset="https://d-learn.ir/wp-content/uploads/2023/05/gt-cyl.png 594w, https://d-learn.ir/wp-content/uploads/2023/05/gt-cyl-300x110.png 300w" sizes="auto, (max-width: 594px) 100vw, 594px" title="ایجاد جداول کاربردی با R 97">															</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>The post <a rel="nofollow" href="https://d-learn.ir/p/rgt/">ایجاد جداول کاربردی با R</a> appeared first on <a rel="nofollow" href="https://d-learn.ir">مدرسه پردازش و تحلیل داده دقیقه</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://d-learn.ir/p/rgt/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>چطور سطرهای دارای مقادیر منفی را در R حذف کنیم؟</title>
		<link>https://d-learn.ir/p/remove-negative-rows/</link>
					<comments>https://d-learn.ir/p/remove-negative-rows/#respond</comments>
		
		<dc:creator><![CDATA[بهمن اجدری]]></dc:creator>
		<pubDate>Sat, 28 May 2022 13:50:27 +0000</pubDate>
				<category><![CDATA[پرانتز]]></category>
		<category><![CDATA[جعبه‌ابزار]]></category>
		<category><![CDATA[آر]]></category>
		<category><![CDATA[شروع یادگیری علوم داده]]></category>
		<category><![CDATA[علم داده]]></category>
		<category><![CDATA[فیلتر]]></category>
		<category><![CDATA[فیلتر در r]]></category>
		<guid isPermaLink="false">https://d-learn.ir/?p=10798</guid>

					<description><![CDATA[<p>ممکن است در برخی الگوریتم‌ها و یا شرایط تحلیل لازم باشد سطر‌هایی که حداقل یک داده کمتر از صفر(منفی) دارد را از دیتاست خارج کنیم. این کار به روش‌های مختلفی در R  قابل انجام است که در ادامه به دو روش آن اشاره می‌کنیم. ساخت دیتافریم نمونه برای پیاده سازی عملی روش‌ها لازم است ابتدا [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://d-learn.ir/p/remove-negative-rows/">چطور سطرهای دارای مقادیر منفی را در R حذف کنیم؟</a> appeared first on <a rel="nofollow" href="https://d-learn.ir">مدرسه پردازش و تحلیل داده دقیقه</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="10798" class="elementor elementor-10798" data-elementor-post-type="post">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-38a6600 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="38a6600" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4ab3332" data-id="4ab3332" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-02903ce elementor-widget elementor-widget-text-editor" data-id="02903ce" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>ممکن است در برخی الگوریتم‌ها و یا شرایط تحلیل لازم باشد سطر‌هایی که حداقل یک داده کمتر از صفر(منفی) دارد را از دیتاست خارج کنیم. این کار به روش‌های مختلفی در R  قابل انجام است که در ادامه به دو روش آن اشاره می‌کنیم.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-6ea6613 elementor-widget elementor-widget-heading" data-id="6ea6613" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">ساخت دیتافریم نمونه</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-971d680 elementor-widget elementor-widget-text-editor" data-id="971d680" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>برای پیاده سازی عملی روش‌ها لازم است ابتدا یک دیتافریم نمونه درست کنیم. این مجموعه داده دارای 5 سطر و سه ستون است. سطرهای ۳ و ۴ این مجموعه داده دارای یک مقدار منفی در ستون‌های متفاوت است. هدف ما خارج کردن تمام ردیف ۳ و ۴ است.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-c101298 elementor-widget elementor-widget-code-highlight" data-id="c101298" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-r line-numbers">
				<code readonly="true" class="language-r">
					<xmp>
df = data.frame(x1=c(1,2,3,4,5),
                x2=c(1,2,-1,3,4),
                x3=c(1,2,3,-4,5))</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-7c0d9c7 elementor-widget elementor-widget-code-highlight" data-id="7c0d9c7" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow  ">
			<pre data-line="" class="highlight-height language-markup line-numbers">
				<code readonly="true" class="language-markup">
					<xmp>  x1 x2 x3
  1  1  1
  2  2  2
  3 -1  3
  4  3 -4
  5  4  5</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-e0cfe43 elementor-widget elementor-widget-heading" data-id="e0cfe43" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">روش اول: استفاده ازbase R</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-38d5312 elementor-widget elementor-widget-text-editor" data-id="38d5312" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>با استفاده از ترکیب دو تابع <code>rowSums</code> و <code>subset</code> میتوانید به راحتی تمام سطرهایی که حداقل یک مقدار منفی دارند را از مجموعه داده خود حذف کنید.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-4335246 elementor-widget elementor-widget-code-highlight" data-id="4335246" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-r line-numbers">
				<code readonly="true" class="language-r">
					<xmp>subset(df, !rowSums(df < 0))
  x1 x2 x3
1  1  1  1
2  2  2  2
5  5  4  5</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-8168da0 elementor-widget elementor-widget-heading" data-id="8168da0" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">روش دوم: استفاده از کتابخانه dplyr</h3>				</div>
				</div>
				<div class="elementor-element elementor-element-0b6c038 elementor-widget elementor-widget-text-editor" data-id="0b6c038" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>کتابخانه <code>dplyr</code> یکی از مهمترین کتابخانه‌های مجموعه <code>tidyverse </code> است. این کتابخانه امکانات بسیار زیادی برای تبدیل داده‌ها در اختیار شما می‌گذارد. در اینجا با استفاده از دو روش اقدام به حذف سطرهایی که حداقل یک مقدار منفی دارند می‌کنیم.</p><p> در روش اول با استفاده از تابع <code>filter_all</code>  تمام ردیف‌های دارای مقدار منفی راحذف می‌کنیم. تابع <code>all_vars </code>موقعی بکار می‌رود که شما می‌خواهید عملیاتی را برای تمام متغیرها(ستون‌ها) بصورت همزمان انجام بدهید.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-dd1024c elementor-widget elementor-widget-code-highlight" data-id="dd1024c" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-r line-numbers">
				<code readonly="true" class="language-r">
					<xmp>library(dplyr)
df %>%
  filter_all( all_vars(.> 0))</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-3857eb7 elementor-widget elementor-widget-code-highlight" data-id="3857eb7" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow  ">
			<pre data-line="" class="highlight-height language-r line-numbers">
				<code readonly="true" class="language-r">
					<xmp>  x1 x2 x3
 1  1  1
 2  2  2
 5  4  5</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-86525aa elementor-widget elementor-widget-text-editor" data-id="86525aa" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>روش قبلی با آن که به راحتی عملیات مورد نظر را انجام می‌ دهد، اما این توابع با تابع جدید‌تری به نام<code> across</code>جایگزین شده‌اند. این روش کد کمی مدرن‌تر و بروز تر از روش قبلی است.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-e867cd3 elementor-widget elementor-widget-code-highlight" data-id="e867cd3" data-element_type="widget" data-e-type="widget" data-widget_type="code-highlight.default">
				<div class="elementor-widget-container">
							<div class="prismjs-tomorrow copy-to-clipboard ">
			<pre data-line="" class="highlight-height language-javascript line-numbers">
				<code readonly="true" class="language-javascript">
					<xmp>df %>%
  filter(across(everything(), ~ .> 0))
  x1 x2 x3
1  1  1  1
2  2  2  2
3  5  4  5</xmp>
				</code>
			</pre>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-b6fcf0c elementor-widget elementor-widget-text-editor" data-id="b6fcf0c" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>اگر می‌خواهید بیشتر در مورد کارکردن با داده‌ها در R  بدانید می‌توانید به درس‌های زیر در مدرسه پردازش و تحلیل داده دقیقه مراجعه کنید.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-63172a8 elementor-widget elementor-widget-etlms-course-list tutor-addon etlms-course-list" data-id="63172a8" data-element_type="widget" data-e-type="widget" data-widget_type="etlms-course-list.default">
				<div class="elementor-widget-container">
					<div class="tutor-wrap tutor-courses-wrap tutor-container etlms-course-list-main-wrap">
			<div class="etlms-course-list-loop-wrap tutor-course-list tutor-grid tutor-grid-3">
							<div class="etlms-course-list-col">
					<div class="tutor-card tutor-course-card tutor-loop-course-container etlms-course-card-classic   etlms-has-hover-animation">
    		<div class="tutor-course-thumbnail">
		<a href="https://d-learn.ir/courses/r-stats-intro/" class="tutor-d-block">
			<div class="tutor-ratio tutor-ratio-16x9">
				<img decoding="async" class="tutor-card-image-top" src="https://d-learn.ir/wp-content/uploads/2022/06/stats-r-768x403.png" alt="آشنایی با آمار در R" loading="lazy" title="چطور سطرهای دارای مقادیر منفی را در R حذف کنیم؟ 104">
			</div>
		</a>
			</div>

    <div class="tutor-card-body">
        <h3 class="tutor-course-name tutor-fs-5 tutor-fw-medium tutor-mb-12" title="آشنایی با آمار در R">
    <a href="https://d-learn.ir/courses/r-stats-intro/">آشنایی با آمار در R</a>
</h3>
<div class="tutor-meta tutor-mt-auto sm-loop-instructors">
			<div class="sm-instructors-inline sm-instructors-grid-2">
            <span class="sm-instructor-chip">
                            <a class="sm-instructor-avatar" href="https://d-learn.ir/profile/alirezakd?view=student">
                    <div class="tutor-avatar"><div class="tutor-ratio tutor-ratio-1x1"><img decoding="async" src="https://d-learn.ir/wp-content/uploads/2022/01/Teachers-Alireza-Kadivar-O1-150x150.png" alt="علیرضا کدیور" title="چطور سطرهای دارای مقادیر منفی را در R حذف کنیم؟ 105"> </div></div>                </a>
                        <a class="sm-instructor-name" href="https://d-learn.ir/profile/alirezakd?view=student">
                علیرضا کدیور            </a>
        </span>
            </div>
	
	</div>
    </div>

    </div>				</div>
							<div class="etlms-course-list-col">
					<div class="tutor-card tutor-course-card tutor-loop-course-container etlms-course-card-classic   etlms-has-hover-animation">
    		<div class="tutor-course-thumbnail">
		<a href="https://d-learn.ir/courses/rmdatv/" class="tutor-d-block">
			<div class="tutor-ratio tutor-ratio-16x9">
				<img decoding="async" class="tutor-card-image-top" src="https://d-learn.ir/wp-content/uploads/2025/11/rmdat-768x442.png" alt="دوره جامع طراحی و تحلیل کارآزمایی بالینی با R" loading="lazy" title="چطور سطرهای دارای مقادیر منفی را در R حذف کنیم؟ 106">
			</div>
		</a>
			</div>

    <div class="tutor-card-body">
        <h3 class="tutor-course-name tutor-fs-5 tutor-fw-medium tutor-mb-12" title="دوره جامع طراحی و تحلیل کارآزمایی بالینی با R">
    <a href="https://d-learn.ir/courses/rmdatv/">دوره جامع طراحی و تحلیل کارآزمایی بالینی با R</a>
</h3>
<div class="tutor-meta tutor-mt-auto sm-loop-instructors">
			<div class="sm-instructors-inline sm-instructors-grid-2">
            <span class="sm-instructor-chip">
                            <a class="sm-instructor-avatar" href="https://d-learn.ir/profile/ebrahimv86?view=student">
                    <div class="tutor-avatar"><div class="tutor-ratio tutor-ratio-1x1"><img decoding="async" src="https://d-learn.ir/wp-content/uploads/2023/12/Amene-Ebrahim-150x150.png" alt="آمنه ابراهیم ولوجردی" title="چطور سطرهای دارای مقادیر منفی را در R حذف کنیم؟ 107"> </div></div>                </a>
                        <a class="sm-instructor-name" href="https://d-learn.ir/profile/ebrahimv86?view=student">
                آمنه ابراهیم ولوجردی            </a>
        </span>
                    <span class="sm-instructor-chip">
                            <a class="sm-instructor-avatar" href="https://d-learn.ir/profile/tanhakiarash?view=student">
                    <div class="tutor-avatar"><div class="tutor-ratio tutor-ratio-1x1"><img decoding="async" src="https://d-learn.ir/wp-content/uploads/2024/09/kiarash-150x150.png" alt="کیارش تنها" title="چطور سطرهای دارای مقادیر منفی را در R حذف کنیم؟ 108"> </div></div>                </a>
                        <a class="sm-instructor-name" href="https://d-learn.ir/profile/tanhakiarash?view=student">
                کیارش تنها            </a>
        </span>
                    <span class="sm-instructor-chip">
                            <a class="sm-instructor-avatar" href="https://d-learn.ir/profile/alirezakd?view=student">
                    <div class="tutor-avatar"><div class="tutor-ratio tutor-ratio-1x1"><img decoding="async" src="https://d-learn.ir/wp-content/uploads/2022/01/Teachers-Alireza-Kadivar-O1-150x150.png" alt="علیرضا کدیور" title="چطور سطرهای دارای مقادیر منفی را در R حذف کنیم؟ 105"> </div></div>                </a>
                        <a class="sm-instructor-name" href="https://d-learn.ir/profile/alirezakd?view=student">
                علیرضا کدیور            </a>
        </span>
            </div>
	
	</div>
    </div>

    </div>				</div>
							<div class="etlms-course-list-col">
					<div class="tutor-card tutor-course-card tutor-loop-course-container etlms-course-card-classic   etlms-has-hover-animation">
    		<div class="tutor-course-thumbnail">
		<a href="https://d-learn.ir/courses/datatable" class="tutor-d-block">
			<div class="tutor-ratio tutor-ratio-16x9">
				<img decoding="async" class="tutor-card-image-top" src="https://d-learn.ir/wp-content/uploads/2025/09/data.table_-768x403.png" alt="پردازش داده با data.table در R" loading="lazy" title="چطور سطرهای دارای مقادیر منفی را در R حذف کنیم؟ 110">
			</div>
		</a>
			</div>

    <div class="tutor-card-body">
        <h3 class="tutor-course-name tutor-fs-5 tutor-fw-medium tutor-mb-12" title="پردازش داده با data.table در R">
    <a href="https://d-learn.ir/courses/datatable">پردازش داده با data.table در R</a>
</h3>
<div class="tutor-meta tutor-mt-auto sm-loop-instructors">
			<div class="sm-instructors-inline sm-instructors-grid-2">
            <span class="sm-instructor-chip">
                            <a class="sm-instructor-avatar" href="https://d-learn.ir/profile/alirezachamanzar-2?view=student">
                    <div class="tutor-avatar"><div class="tutor-ratio tutor-ratio-1x1"><img decoding="async" src="https://d-learn.ir/wp-content/uploads/2025/08/Alireza.Chamanzar-150x150.png" alt="علیرضا چمن‌زار" title="چطور سطرهای دارای مقادیر منفی را در R حذف کنیم؟ 111"> </div></div>                </a>
                        <a class="sm-instructor-name" href="https://d-learn.ir/profile/alirezachamanzar-2?view=student">
                علیرضا چمن‌زار            </a>
        </span>
            </div>
	
	</div>
    </div>

    </div>				</div>
					</div>

				
	<input type="hidden" id="etlms_enroll_btn_type" value="">
	<input type="hidden" id="etlms_enroll_btn_cart" value="">
</div>
				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>The post <a rel="nofollow" href="https://d-learn.ir/p/remove-negative-rows/">چطور سطرهای دارای مقادیر منفی را در R حذف کنیم؟</a> appeared first on <a rel="nofollow" href="https://d-learn.ir">مدرسه پردازش و تحلیل داده دقیقه</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://d-learn.ir/p/remove-negative-rows/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
