|R| Experts – Telegram
|R| Experts
1.05K subscribers
376 photos
35 videos
58 files
205 links
@R_Experts
🔴آمار علم جان بخشیدن به داده‌هاست.
🔷ارتباط با ما
@iamrezaei
لینک یوتیوب و اینستاگرام و ویرگول:
https://zil.ink/expertstv
Download Telegram
#for


@R_Experts

👆👆👆👆
#مثالـحلقهـfor

مجموع اعداد زوج از یک تا n را محاسبه کنید

دستورش به شکل زیر است که در زیر تک تک دستورات رو براتون توضیح میدیم
s<-0

for(i in 1:100){

s<-s+I(i%%2==0)*i

}

s

اولا حلقه اعداد یک تا 100 رو با متغیر i شمارش میکنه بعدش ما یک متغیر برای اینکه مجموع رو تو اون دخیره کنیم معرفی میکنیم (متغیر s) مقدار اولیه s عدد صفر هست که هربار با عدد زوج جمع میشه
I() 


این تابع هم خروجیش اعداد 0 و 1 هست که اگر شرط داخلش درست باشه عدد 1 رو میده در غیر اینصورت عدد 0 رو میده
@R_Experts
#while
ی نوع حلقه "loop" به حساب میاد ، و تا زمانی که ارزش منطقی اون گزاره داخلی درست باشه این حلقه ادامه داره ،
مثلا
x <- 1
while(x < 5) {x <- x+1; print(x);}
x

از یک شروع میشه و تا زمانی که از 5 کمتره به مقدار اولیه "1" یکی اضافه میکنه
و با دستور
print( )

همه عناصری که داخل این حلقه تولید شدن رو برای ما چاپ میکنه

#break

در داخل حلقه به معنی خارج شدن است

#next 

در داخل حلقه به معنی ادامه دادن است

@R_Experts
Flow Diagram
@R_Experts
مقدار اولیه 2 ، برای کمتر از 7 ها یکی اضافه کن به تعداد کل این اعدادی که تو این شرط صدق میکنند کاراکتر بردار رو چاپ کن :)
@R_Experts
#NA
به معنی داده گمشده میباشد در سطوح پیشرفته کار با داده گمشده متفاوت است ما در اینجا فقط داه گمشده را در نظر نمیگیریم
در برنامه زیر
دستور
is.na(y)

ارزش منطقی داده های بردار
y

را مشخص میکند
چون این بردار دارای داده گمشده است
نمیتوان کاری روی ان صورت داد از این رو
na.rm=TRUE

به حذف داده گمشده اررش درست میدهد

و باعث میشود داده گمشده در نظر گرفته نشود از این رو برداری با 4 عنصر خواهیم داشت.
@R_Experts
#تفاوت_NA_و_NaN

NaN :═ Not a Number
NA: ═ Not Avilable(Missing)


@R_Experts
#بینهایت

بی نهایت درنرم افزار R به صورت inf تعریف می شود.

@R_Experts
#برابر_قرار_دادن_اعداد_اعشاری

نکته ای که بسیار مهم در نرم افزار R وجود دارد که کمتر دیده ایم از ان یاد شود
ودر مباحثی مانند آنالیز عددی بیشتر رخ می دهد این است که نرم افزار R عدد اعشاری را که از اعمال ریاضی بدست میاد برابر خود ان عدد به دست امده نمی داند وبرای این کار باید از دستور
all.equall()

استفاده کرد.

شاید با ذکر یک #مثال بتوان مفهوم را بهتر درک کرد

@R_Experts
@R_Experts 👆👆👆👆👆
|R| Experts
@R_Experts 👆👆👆👆👆
#توضیح_مثال_👆👆👆👆

همان طور که میبینیم نرم افزار x و y را که هر دو مقدار یکسان 0.1 را دارند برابر و همسان یک دیگر نمیداند زیرا از نظر ان مقدار x یک مقدار تقریبی بود و ممکن است باز هم بعد 0.1 اعداد اعشار دیگر وجود داشته باشند
ولی با دستور
all.equal()

نرم افزار این بار فقط آن تعداد رقم اعشاری که واقعا موجود است را در نظر میگرد
x=0.1
y=0.1

@R_Experts
#فراخوانی_اعضای_یک_بردار

برای فراخوانی ویا کار برروی عضویاعضوهایی از یک بردارازعملگر ```“[]" ```استفاده می شود
```X[a]```
```X[-a]```


@R_Experts
#سورعمومی_سور_وجودی

کیا یادشونه اینا؟

یادتون رفته :))

خب ی یادآوری:

سور عمومی: به ازای هر عضوی از یک مجموعه یا به عبارت بهتر همه مقادیر یک مجموعه یک گزاره منطقی درست باشد

سور وجودی:وجود داشته باشد عضوی از یک مجموعه که یک گزاره منطقی به ازای ان برقرار باشد


if(all(1:10>0)) 



cat("All are positive")



if(any(1:10==5))


cat("There is a five")


در دستور اول میگه اگه همه جملات دنباله
1:10

بزرگتر از صفر باشند چاپ کن واسم
"All are positive"


در دستور دوم میگه اگه جمله ای از دنباله وجود داشته باشه به طوری که گزاره
==5

بر قرار بشه چاپ کن اون 5 هست

@R_Experts
#switch
switch(Statement,list)
تابعی که بر اساس ان میتوان چندین دستور را کنار یکدیگر قرار داد " ی لیست " و به دلخواه اون هارو فراخوانی کرد

 switch(2,"red","green","blue")
[1] "green"

> switch(1,"red","green","blue")
[1] "red"

x <- switch(4,"red","green","blue")
> x
NULL

> x <- switch(0,"red","green","blue")
> x
NULL

> switch("color", "color" = "red", "shape" = "square", "length" = 5)
[1] "red"

> switch("length", "color" = "red", "shape" = "square", "length" = 5)
[1] 5


@R_Experts
ی مثال کاربردی ،
#list
برای اینکه ترکیبی از داده ها ،بردار،دنباله،عدد،کاراکتر و... در یک جا قابل دسترسی باشند از این تابع استفاده میکنیم
list( )

x1 <- list(c(1, 2), c(3, 4))

x2 <- list(list(1, 2), list(3, 4))

x3 <- list(1, list(2, list(3)))


@R_Experts