|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
#Example
در کد زیر
a= c(2, 3, 5)
b = c("aa", "bb", "cc", "dd", "ee")
c = c(TRUE, FALSE, TRUE, FALSE, FALSE)
x = list(a, b, c, 3)
x[2]
x[c(2,4)]
x[[2]]
x[[2]][1]

سه بردار
a,b,c
عددی ،کاراکتر،منطقی را داریم
و در تابع لیست ذخیره و به
x
تخصیص داده ایم


x[2]
در تابع لیست بردار دوم را فراخوانی میکند
x[c(2,4)]
بردار دوم وعنصر چهارم را فراخوانی میکند
x[[2]]
تمام عناصر بردار دوم در لیست را فراخوانی
x[[2]][1]
از بردار دوم لیست عنصر اول را فراخوانی میکند
@R_Experts
#$
Dollar:
اگر به هر یک از عناصر لیست نامی تخصیص دهیم با $ فراخوانی میشوند
اگه اسمی تخصیص ندهیم و $ را به کار بریم با
NULL

مواجه میشویم
#R_Experts

 a= c(2, 3, 5) 

 b = c("aa", "bb", "cc", "dd", "ee") 

 c = c(TRUE, FALSE, TRUE, FALSE, FALSE) 

x = list(vec1=a,vec2= b,vec3= c,Jenabkhan= 3) 

x$vec1

x$vec2

x$vec3

x$Jenabkhan


@R_Experts
#Example_1
list_data <- list(c("Jan","Feb","Mar"), matrix(c(3,9,5,1,-2,8), nrow = 2),

   list("green",12.3))


# Give names to the elements in the list.

names(list_data) <- c("1st Quarter", "A_Matrix", "A Inner list")


# Show the list.

print(list_data)


$`1st_Quarter

[1] "Jan" "Feb" "Mar"


$A_Matrix

     [,1] [,2] [,3]

[1,]    3    5   -2

[2,]    9    1    8


$A_Inner_list

$A_Inner_list[[1]]

[1] "green"


$A_Inner_list[[2]]

[1] 12.3


تابع
names(" ")
برای تخصیص نام به درایه های لیست به کار رفته و ماتریسی در درایه دوم تعریف کردیم که امروز اموزش داده میشود

@R_Experts
#Example_2

# Create two lists.

list1 <- list(1,2,3)

list2 <- list("Sun","Mon","Tue")


# Merge the two lists.

merged.list <- c(list1,list2)


# Print the merged list.

print(merged.list)



[[1]]

[1] 1


[[2]]

[1] 2


[[3]]

[1] 3


[[4]]

[1] "Sun"


[[5]]

[1] "Mon"


[[6]]

[1] "Tue"


merged.list
دو لیست را کنار یکدیگر قرار میدهد و در یک لیست ذخیره میکند
#Example_3

# Create lists.

list1 <- list(1:5)

print(list1)


list2 <-list(10:14)

print(list2)


# Convert the lists to vectors.

v1 <- unlist(list1)

v2 <- unlist(list2)


print(v1)

print(v2)


# Now add the vectors

result <- v1+v2

print(result)



[[1]]

[1] 1 2 3 4 5


[[1]]

[1] 10 11 12 13 14


[1] 1 2 3 4 5

[1] 10 11 12 13 14

[1] 11 13 15 17 19


تابع
unlist
لیست را به ماهیت اولیه اش برمیگرداند

@R_Experts
#آرایه_ها_و_ماتریس

آرایه ها یکی از اشیا موجود در R برای کار با داده ها هستند که ما را قادر می سازند
تا داده ها را به صورت چند بعدی نگه داری کرده و با انها کار کنیم .
در حالت خاص
#بردار ها
ارایه های یک بعدی و
#ماتریس ها
آرایه های دو بعدی هستند.

ساده ترین را ه ساختن یک ارایه استفاده از تابع

dim()

وتبدیل یک بردار به یک ارایه است .برای تبدیل یک بردار به یک ارایه کافیست یک بردار را شامل اندازه طول های مورد نظر

برای بعد آرایه به تابع
dim()

تخصیص دهیم.
#مثال_آرایه
 z <- 1:18

dim(z) <- c(2,3,3)

z


#روش_دیگر_ساختن_آرایه_و_ماتریس استفاده از تابع
array()

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

#مثال
x <- 1:24

array(x,c(3,6))


@R_Experts
aperm()

این تابع جهت ترانهاده کردن یک آرایه به کا رمی رود.


#مثال
 x <- 1:24

A <- array(x,c(3,6))

aperm(A)


@R_Experts
#ماتریس

علاوه بر تابع
dim()
برای ساختن ماتریس می توان از تابع
#matrix()
به شکل زیر استفاده کرد
matrix( c() , ncol=a, nrow=b,byrow=T or F )
که در ان
بردار
c( )
که میخوایم به ماتریس تبدیل کنیم
Ncol
تعداد ستون ها
Nrow
تعداد سطر ها
Byrow =T
نيز ترتيب پر
کردن
ماتریس را به صورت سطري انجام می دهد بدین معنی که ابتدا تمام درایه های سطر اول پر می شود


سپس به سطر دوم می رود و ...
@R_Experts
#کار_بر_روی_ماتریس_ها


برای نام گذاری سطر ها
rownames(c())

برای نام گذاری ستون ها
colnames(c())

ترانهاده_یک_ماتریس
t()

ضرب_ماتریس_ها
A %*% B 

برای محاسبه معکوس یک ماتریس و یا حل یک معادله ی ماتریس از تابع
solve()

استفاده میشود .
اگر در تابع فقط ماتریس را وارد کنیم معکوس ماتریس را به ما می دهد

ولی اگر علاوه بر ماتریس بردار جواب را نیز وارد کنیم جواب معادله
 AX=b 

را می دهد.

@R_Experts
#تمرين_٢
برنامه اي بنويسيد كه ١٠٠٠ عدد تصادفي از توزيع دلخواه
"rnorm(1000)"
بگيرد و انها را در ماتريسي

10(row)*100(col)
قرار داده و واريانس
var( )

هر ستون را محاسبه

و انها را در خروجي در يك ماتريس

100(row)*1
قرار دهد
سپس با مقايسه هر كدام از درايه هاي ماتريس "همه درايه ها " اگر
ai1<aj1
عدد صفر را تخصيص و اگر
ai1>aj1
بود عدد 1 را تخصيص دهد
"ترتيب قرار گيري مهم است يعني اينكه
a11,a21
a21,a11
متفاوت است و هر دو مقايسه بايد صورت گيرد،"
و پس از پايان مجموع اين اعداد را در يك شي دخيره كند.

جواب تمرين در صورتي كه جواب صحيح ارسال شود در كانال گذاشته ميشود

@Analyst20
@javad_vhd
@hamedrezaei2

با تشكر 💎🌷💎

https://telegram.me/R_Experts
#سرگرمی

با دستور ساده زیر می توان #رنگین_کمان کشید


n <- 2000⁨
pie(rep(1,n ),labels = "",border = NA,col = rainbow(n),main = " R_Experts")


@R_Experts