RStudio
1.2K subscribers
212 photos
34 videos
37 files
195 links
💬 آموزش R و RStudio
💬 اجرای پروژه‌های برنامه‌نویسی
💬 آموزش یادگیری ماشین و تحلیل داده

👥 https://t.me/+bcrfE2b3YTY1MWNk

@RSTUDIO_IR
🌐 www.r-studio.ir

جهت هماهنگی جلسات خصوصی/گروهی R با ادمین‌ها تماس بگیرید

🆔 @rstudioir | @afshin_motavali
Download Telegram
RStudio
📊 آمار پردانلودترین بسته‌های محاسباتی در R نشان می دهد که #ggplot2 پیشتاز است. بله دنیای امروز، دنیای #مصورسازی است. #statistics @RStudio_ir
📊 آمار پردانلودترین بسته‌های محاسباتی در R نشان می دهد که #ggplot2 همچنان محبوب‌ترین بسته محاسباتی در میان کاربران R است.

#statistics
🆔 @RSTUDIO_IR
——————————————————
🖱
YouTube 🖱 Aparat 🖱 Instagram 🖱 Website 🖱 Q&A
💻 نصب پکیج در محیط R Markdown

در اکثر موارد، کاربران ابتدا کدها و ملزومات آن را در یک script جداگانه بررسی می‌کنند و سپس کدها را در یک تقسیم بندی دلخواه به Markdown اضافه می‌کنند. اما اگر بخواهیم بدون واسطه و به صورت مستقیم پکیج‌های مورد نیاز را در مارکدان نصب کنیم، ابتدا باید مخزن را به درستی تنظیم کنیم.

پیشنهاد می‌شود حتماً یک شرط وجود پکیج را با فرمت زیر برای هر پکیج قرار دهید که اگر پکیج روی سیستم شما نصب بود، دوباره‌کاری اتفاق نیوفتد:

if(!require(PKG_NAME)){

}

در این صورت فرض کنید قصد نصب بسته lessR را دارید. به صورت زیر عمل کنید:

r <- getOption("repos")
r["CRAN"] = "http://cran.r-project.org"
options(repos = r)
if(!require("lessR")){
install.packages("lessR")
}
library(lessR)

⭐️ در این صورت اگر مخزن را به درستی تنظیم کنید، بسته یا بسته های مورد نیاز شما به صورت خودکار نصب و سپس فراخوانی خواهند شد.

#نصب_پکیج
#rmarkdown
🆔 @RSTUDIO_IR
——————————————————
🖱
YouTube 🖱 Aparat 🖱 Instagram 🖱 Website 🖱 Q&A
R-4.2.0-win.exe
78.5 MB
👨‍💻 نسخه جدید R منتشر شد

نسخه: 4.2.0
نام: Vigorous Calisthenics
📅 4 اردیبهشت 1401


#دانلود_R
#R #download
🆔 @RSTUDIO_IR
——————————————————
🖱
YouTube 🖱 Aparat 🖱 Instagram 🖱 Website 🖱 Q&A
👨‍💻 نسخه 4.2 از RTools منتشر شد

نسخه 4.2
💥فقط برای نسخه 4.2.0 و بالاتر از R

🔽 دانلود

نسخه 4.0
💥برای نسخه‌های 4.0.0 تا 4.1.3 از R

🔽 دانلود

نسخه‌های قدیمی‌تر
💥برای نسخه‌های قبل از 4.0.0 از R

🔽 دانلود

#دانلود_Rtools
#Rtools #download
🆔 @RSTUDIO_IR
——————————————————
🖱
YouTube 🖱 Aparat 🖱 Instagram 🖱 Website 🖱 Q&A
👨‍💻علت حذف بسته‌ها از مخزن CRAN چیست؟

گاهی با اجرای دستور نصب یک بسته در R با خطا مواجه می‌شویم (تصویر 1) و بعد از کمی جستجو متوجه می شویم که این بسته از مخزن حذف شده است (تصویر 2).

🟢 حالا چیکار کنم؟

شما می توانید با استفاده از دانلود بسته موردنظر از بخش Archive (آخرین نسخه منتشر شده توصیه می‌شود) بسته را دانلود، و با روش آفلاین نصب کنید. بنابراین حذف بسته از مخزن CRAN به این معنا نیست که شما نباید از توابع آن استفاده کنید.

🟢 چرا بسته‌ها حذف می‌شوند؟

مخزن CRAN بسته‌ها را به صورت رایگان از شما دریافت می‌کند و بابت دریافت و منتشر کردن بسته‌ها هیچ هزینه‌ای به نویسنده پرداخت نمی‌کند چرا که ماهیت فعالیت این مخزن، داوطلبانه است. سیاست‌های کامل مخزن را می‌توانید از این لینک مطالعه کنید. اما به طور خلاصه علت‌ها را به چند مورد تقسیم‌بندی می‌کنیم:
————————————————
ادامه مطلب را در وب‌سایت ما بخوانید:

yun.ir/pshtd6

#CRAN
🆔
@RSTUDIO_IR
——————————————————
🖱
YouTube 🖱 Aparat 🖱 Instagram 🖱 Website 🖱 Q&A
#ویدئو_شماره_24
موضوع: راه‌اندازی Python در RStudio

Getting Started with Python in RStudio

👈🏻 فیلم آموزش را در یوتیوب یا آپارات ببینید.

#Python #RStudio
🆔
@RSTUDIO_IR
——————————————————
🖱
YouTube 🖱 Aparat 🖱 Instagram 🖱 Website 🖱 Q&A
#ویدئو_شماره_25
موضوع: مقایسه دو ابزار Markdown و Notebook

Comparing Markdown and Notebook

👈🏻 فیلم آموزش را در یوتیوب یا آپارات ببینید.

#rmarkdown #rnotebook
🆔
@RSTUDIO_IR
——————————————————
🖱
YouTube 🖱 Aparat 🖱 Instagram 🖱 Website 🖱 Q&A
#نکته
در برخی موارد شما سعی دارید با یک تابع ساده و توکار در R یک کد ساده بنویسید که مرتب با خطای unused arguments مواجه می شوید. مثلاً فرض کنید قصد دارید با تابع c یک بردار در R به شرح زیر تعریف کنید:

x <- c(1, 2, 3, 4, 5)

اما خطای زیر ظاهر می شود:

Error in c(1, 2, 3, 4, 5) : unused arguments in (2, 3, 4, 5)

اگر به ساختار خطا دقت کنید مشخصاً اشاره می کند که ورودی های دوم تا پنجم اضافی هستند. بهترین حدس این است که شما قبل تر از c به عنوان یک اسم دلخواه برای توابع خود استفاده کرده اید و احتمالاً این تابعی که معرفی کرده اید تنها یک ورودی داشته است. مثلاً چنین چیزی:

 c <- function(x) sqrt(x)

این کار اشتباه است. به هیچ عنوان از اسامی توابع توکار در R به عنوان اسامی متغیرهای خود استفاده نکنید که دچار چنین مشکلاتی نشوید. به جای این که مثلاً بنویسید:

 c_1 <- function(x) sqrt(x)

اگر این کار را انجام دادید، از تابع

🔧 rm("c")

استفاده کنید که تابع شما از حافظه پاک شود و مجدد کدها را اجرا کنید که c به کارایی قبلی خود بازگردد.

#debug
🆔 @RSTUDIO_IR
👨🏻‍💻 انتخاب اسم برای آجکت‌ها در R

انتخاب اسم برای اشیاء در برنامه نویسی خصوصاً زمانی که شما یک سبک مشخص برای این کار نداشته باشید، تبدیل به یک معضل می شود. در ادامه سه روش معروف در دنیای برنامه نویسی را برای این کار ارائه می کنیم.

1️⃣ روش اول: حروف شتری (Camel Case)

در این روش حرف اول را کوچک و ابتدای حرف های بعدی را بزرگ در نظر می گیریم. این پستی و بلندی (عین کوهان شتر) باعث بهتر دیده شدن اسم خواهد شد. مثلاً:

myVariableName <- function(x) sqrt(x)

2️⃣ روش دوم: حروف پاسکال (Pascal Case)

در این روش ابتدای همه حروف به کار برده شده در اسم، به صورت بزرگ نوشته می شود. مثال:

MyVariableName <- function(x) sqrt(x)


3️⃣ روش سوم: حروف خزش مار (Scake Case)

در این روش برای جدا کردن کلمات از (_) یا همان underline استفاده می شود (به همین دلیل اسم خزش مار را به آن داده اند). مثال:

my_variable_name <- function(x) sqrt(x)


4️⃣ روش چهارم: ترکیب سه روش بالا با اعداد

اگر این قانون را رعایت کنید که عدد قبل از حرف در زبان برنامه نویسی نمی تواند نوشته شود (مثل 01afshin) آنگاه این روش نیز می تواند برای شما مناسب باشد. مثال:

my_variable1 <- function(x) sqrt(x)
my_variable_2 <- function(x) abs(x)
MyVariable_3 <- function(x) min(x)

روش آخر به این دلیل زیاد استفاده نمی شود که پیدا کردن کاربرد توابع از روی عدد کار آسانی نیست اما اگر شما به عنوان مثال برای تابعی که میانگین اعداد را محاسبه می کند از اسم mean استفاده کنید، در واقع تابع mean که از توابع base در R را از کار انداخته اید و تابع دستنویس شما با همین اسم جایگزین آن می شود. توصیه می شود در این گونه موارد از عبارت هایی مثل my_mean استفاده کنید.


#variable_name #object_name
🆔
@RSTUDIO_IR
#ویدئو_شماره_26
موضوع: مقایسه دو رابط گرافیکی RStudio و R Commander

Comparing RStudio and R Commander

👈🏻 فیلم آموزش را در یوتیوب یا آپارات ببینید.

#rstudio #rcommander
🆔
@RSTUDIO_IR
——————————————————
🖱
YouTube 🖱 Aparat 🖱 Instagram 🖱 Website 🖱 Q&A
#ویدئو_شماره_27
موضوع: عبور از خطای allocate vector size با توابع توکار

Error: cannot allocate vector size ... GB

👈🏻 فیلم آموزش را در یوتیوب یا آپارات ببینید.

#debug #cannot_allocate_vector
🆔
@RSTUDIO_IR
——————————————————
🖱
YouTube 🖱 Aparat 🖱 Instagram 🖱 Website 🖱 Q&A
RStudio-2022.02.3-492.exe
169.1 MB
دانلود نسخه جدید RStudio

—————————————
RStudio v1.4.1743-4
"Evergreen Rose" - April 28, 2022
—————————————

📅 تاریخ به‌روزرسانی: 14 خرداد 1401


این نسخه RStudio از نسخه R 4.2.0 بدون مشکل پشتیبانی می‌کند.


⬇️ نسخه ویندوز:
دانلود

⬇️ نسخه‌های دیگر: کلیک

⭐️ اگر نسخه پردازنده شما 32 بیت است:

1️⃣ قادر به نصب این نسخه RStudio نخواهید بود به همین دلیل باید از نسخه های قدیمی تر این نرم افزار استفاده کنید. برای مشاهده و دانلود
کلیک کنید.

2️⃣ از نسخه R 4.2.0 نیز نمی‌توانید استفاده کنید بنابراین نسخه R 4.1.3 پیشنهاد می‌شود. برای دانلود
کلیک کنید.

#دانلود_آر_استودیو
#rstudio
🆔
@RSTUDIO_IR
👨🏻‍💻 آشنایی با چند نماد رایج در برنامه‌نویسی

#نماد
#symbol
🆔
@RSTUDIO_IR
——————————————————
🖱
YouTube 🖱 Aparat 🖱 Instagram 🖱 Website 🖱 Q&A
👨🏻‍💻 جانهی داده‌های گمشده براساس نوع متغیرها

اگر می خواهید در بین کل داده ها، فقط ستون های عددی را #جانهی کنید و به جای گمشده ها از میانگین مقادیر موجود در آن ستون استفاده کنید، می توانید از کدهای زیر استفاده کنید:

library(dplyr)
library(tidyr)

df <- data.frame(
x = c(1,2,3,NA),
y = c(2,5,NA,NA),
z = c(4,5,3,NA)
)

👈🏻 جانهی گمشده ها در یک ستون مشخص:
imputed <- df %>% 
mutate(x = replace_na(x,mean(x, na.rm = TRUE)))
> imputed
x y z
1 1 2 4
2 2 5 5
3 3 NA 3
4 2 NA NA

👈🏻 جانهی گمشده ها در همه ستون های عددی:
imputed <- df %>%
mutate_if(is.numeric, ~replace_na(.,mean(., na.rm = TRUE)))
> imputed
x y z
1 1 2.0 4
2 2 5.0 5
3 3 3.5 3
4 2 3.5 4

#جانهی
#imputation #missing
🆔
@RSTUDIO_IR
👨🏻‍💻 فراخوانی چندین دیتاست با فرمت csv در R

تابع assign یکی از توابعی کاربردی برای کارهای حجیم در R محسوب می شود. اما استفاده از تابع assign با حلقه های تو در تو، خصوصاً زمانی که حجم پردازش اطلاعات زیاد باشد، غیربهینه و زمان گیر است. به همین منظور برای فراخوانی فایل ها می توانید از تابع lapply استفاده کنید:

با تابع زیر مسیر کاری را انتخاب کنید. یک پوشه بسازید و تمامی دیتاست های خود را در آن قرار دهید و این پوشه را به عنوان مسیر کاری تعیین کنید:

setwd(choose.dir())

تابع زیرا را اجرا کنید:

file.list <- list.files(pattern='*.csv')
all_data <- lapply(file.list, read.csv)

حال تمامی دیتاست های شما فراخوانی شده است. به عنوان مثال اگر سه دیتاست فراخوانی کرده باشید می توانید با دستورهای زیر هر یک را چاپ کنید و اعمال مجزا روی آن ها انجام دهید.

all_data[1]
all_data[2]
all_data[3]

#فراخوانی
#import #load #csv
🆔
@RSTUDIO_IR
——————————————————
🖱
YouTube 🖱 Aparat 🖱 Instagram 🖱 Website 🖱 Q&A
This media is not supported in your browser
VIEW IN TELEGRAM
👨🏻‍💻 تشبیه کاربرد pipe در R به پخت کیک با مواد اولیه

🌐 yun.ir/jt5549

#pipe
🆔 @RSTUDIO_IR
#ویدئو_شماره_28
موضوع: وارد کردن داده‌های کمی و کیفی در R و Excel

👈🏻 فیلم آموزش را در یوتیوب یا آپارات ببینید.

#input
🆔
@RSTUDIO_IR
——————————————————
🖱
YouTube 🖱 Aparat 🖱 Instagram 🖱 Website 🖱 Q&A
👨🏻‍💻 فراخوانی چندین دیتاست با فرمت xlsx در R

برای فراخوانی تعدادی فایل xlsx ابتدا بسته readxl را نصب و فراخوانی کنید:

install.packages('readxl', dependencies=T)
library(readxl)

یک پوشه بسازید و تمامی دیتاست های خود را در آن قرار دهید و این پوشه را به عنوان مسیر کاری تعیین کنید:

setwd(choose.dir())

توابع زیرا را اجرا کنید:

file.list <- list.files(pattern='*.xlsx')
all_data <- lapply(file.list, read_xlsx)

حال تمامی دیتاست های شما فراخوانی شده است.

all_data[1]
all_data[2]
all_data[3]

این تابع برای هر فرمتی که با آن کار می کنید مناسب است فقط کافیست در توابع فوق pattern را تغییر دهید و تابع فراخوانی را نیز براساس فایل دیتای خود تنظیم کنید.

#فراخوانی_اکسل
#import #load #xlsx
🆔
@RSTUDIO_IR
——————————————————
🖱
YouTube 🖱 Aparat 🖱 Instagram 🖱 Website 🖱 Q&A
👨🏻‍💻 فراخوانی چندین دیتاست با فرمت txt در R

تمامی مراحل مربوط به فراخوانی داده ها برای فرمت های مختلف، مشابه است. کافیست فرمت را تعریف کنید و تابع مناسب را برای فراخوانی وارد کنید.

با تابع زیر مسیر کاری را انتخاب کنید. یک پوشه بسازید و تمامی دیتاست های خود را در آن قرار دهید و این پوشه را به عنوان مسیر کاری تعیین کنید:

setwd(choose.dir())

تابع زیرا را اجرا کنید:

file.list <- list.files(pattern='*.txt')
all_data <- lapply(file.list, read.table)

حال تمامی دیتاست های شما فراخوانی شده است.

all_data[1]
all_data[2]
all_data[3]

#فراخوانی_تکست
#txt #load #import
🆔
@RSTUDIO_IR
——————————————————
🖱
YouTube 🖱 Aparat 🖱 Instagram 🖱 Website 🖱 Q&A
📊 در حدود 30 هزار کاربر stackoverflow عنوان کرده‌اند که از کدام سایت برای یادگیری برنامه‌نویسی استفاده کرده‌اند. در میان این تعداد، Udemy بالاترین رتبه را به خود اختصاص داده است.

🔗
http://bit.ly/3HLbxxE

#یودمی
#udemy #course #statistics #stackoverflow
🆔
@RSTUDIO_IR
——————————————————
🖱
YouTube 🖱 Aparat 🖱 Instagram 🖱 Website 🖱 Q&A
برای خارج کردن راهنما از قاب نمودار چکار کنم؟

پاسخ: اگر از توابع base برای رسم نمودار استفاده می کنید، برای خارج کردن legend از قاب اصلی ابتدا باید حاشیه های نمودار (فضای سفید اطراف قاب اصلی) را با استفاده از تابع
#par تنظیم کنید و سپس از تابع inset برای جا به جا کردن راهنما استفاده کنید.

🟢 مثال:

df <- data.frame(x=rnorm(10), y=rnorm(10))
par(mar=c(5.1, 4.1, 4.1, 8.1), xpd=TRUE)
plot(df$x, col=1, lty=1, type='l', lwd=3)
lines(df$y, col=2, lty=2, lwd=3)
legend("topright", inset=c(-0.2,0), legend=c("A","B"), lty=c(1,2), title="Group",col=c(1,2))

#legend #inset #QandA
🆔
@RSTUDIO_IR
——————————————————
🖱
YouTube 🖱 Aparat 🖱 Instagram 🖱 Website 🖱 Q&A