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
#ویدئو_شماره_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
تابعی بنویسید که یک بردار n تایی، عدد a و عدد b را دریافت کرده و یک بازه اطمینان a درصدی برای میانگین جامعه به دست آورد. حال اگر b در بازه مورد نظر قرار داشته باشد عدد 1 و در غیر این صورت عدد 0 را برگرداند.

پاسخ:


f <- function(x, a, b){
n <- length(x)
m <- mean(x)
se <- sd(x)/sqrt(n)
z <- qnorm(p=1 - a/2)
lower <- m-z*se
upper <- m+z*se
if(b > lower & b < upper){
return(1)
}else{
return(0)
}
}
x <- rnorm(100)
f(x=x, a=0.05, b=0.1)

#ci #QandA
🆔
@RSTUDIO_IR
——————————————————
🖱
YouTube 🖱 Aparat 🖱 Instagram 🖱 Website 🖱 Q&A
👨🏻‍💻 جدیدترین #میانبرها و ترفندهای RStudio

🔗
https://rb.gy/nuh8u5

#rstudio #shortcut
🆔
@RSTUDIO_IR
——————————————————
🖱
YouTube 🖱 Aparat 🖱 Instagram 🖱 Website 🖱 Q&A
چگونه سامیشن دوگانه در R بنویسم؟

یک راهکار برنامه نویسی برای نوشتن دو سامیشن این است که یک شیء را صفر تعریف کنید و دو حلقه داخل هم تعریف کنید. به این طریق در هر مرحله یک مقدار قبلی سامیشن رو با مقدار داخل سامیشن جمع می کنید:

mysum <- 0
for (i in 1:3) {
for (j in 2:4) {
mysum <- mysum + i + j
}
}
> mysum
[1] 45

ضرب هم به همین صورت هست با این تفاوت که آبجکت اولیه را در ضرب باید برابر با 1 تعریف کنید.

#double_summation #QandA
🆔
@RSTUDIO_IR
——————————————————
🖱
YouTube 🖱 Aparat 🖱 Instagram 🖱 Website 🖱 Q&A
👨🏻‍💻 نصب مستقیم بسته‌های #پایتون در RStudio

🆔 @RSTUDIO_IR
نصب Python بر روی موبایل

📱لینک دانلود از #گوگل_پلی برای گوشی‌های اندروید:

⬇️ Click Here

این یک IDE برای زبان #پایتون است که به راحتی می‌توانید کدهای پایتون رو بر روی آن در موبایل و تبلت خود اجرا کنید. نقطه قوت این برنامه این است که به راحتی می‌توانید هر کدام از پکیج‌های پایتون را بر روی آن نصب کنید.

#python
🆔
@RSTUDIO_IR
——————————————————
🖱
YouTube 🖱 Aparat 🖱 Instagram 🖱 Website 🖱 Q&A
💻 مقایسه سه روش رایج برای فراخوانی داده‌ها در R از نظر سرعت

👈🏻 در این پست بیشتر بخوانید:

https://bit.ly/3yRUEyA

#load
🆔
@RSTUDIO_IR