|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
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
#ginv( )
تابعی در پکیج
MASS
برای محاسبه ی معکوس ماتریس به کار میرود که
معکوس تعمیم یافته هست و زمانی که ماتریس مربعی نباشد میتوان از این دستور استفاده کرد و معکوس ماتریس را بدست اورد
#Example

dat1 <- c(3,4,5,2,1,3,6,5,4)
matrix1 <- matrix(dat1, nrow = 3, ncol = 3, byrow = TRUE)
matrix1

[,1] [,2] [,3]
[1,] 3 4 5
[2,] 2 1 3
[3,] 6 5 4


library(MASS)
ginv(matrix1)

[,1] [,2] [,3]
[1,] -0.4074074 0.3333333 0.25925926
[2,] 0.3703704 -0.6666667 0.03703704
[3,] 0.1481481 0.3333333 -0.18518519
#مقاذیر_ویژه_بردارهای_ویژه
در مثال قبل :
eigen(matrix1)


$values

[1] 11.238947 -2.088872 -1.150075


$vectors

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

[1,] -0.6017346 -0.3458537 -0.4307244

[2,] -0.3305706 -0.5288292  0.8445517

[3,] -0.7270754  0.7750644 -0.3181336


@R_Experts
#Example_2
> A <- matrix(c(2,3,-2,1,2,2),3,2)
> A

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



> is.matrix(A)

[1] TRUE

> is.vector(A)

[1] FALSE

is.matrix( )
is.vector( )

گزاره هاي منطقي هستند
كه ارزش درست يا نادرست ميگيرند.
@R_EXperts
#Example_3
> A = matrix( 
+ c(2, 4, 3, 1, 5, 7), # the data elements
+ nrow=2, # number of rows
+ ncol=3, # number of columns
+ byrow = TRUE) # fill matrix by rows

> A # print the matrix
[,1] [,2] [,3]
[1,] 2 4 3
[2,] 1 5 7
> A[2, 3] # element at 2nd row, 3rd column
[1] 7
> A[2, ] # the 2nd row
[1] 1 5 7
> A[ ,3] # the 3rd column
[1] 3 7
> A[ ,c(1,3)] # the 1st and 3rd columns
[,1] [,2]
[1,] 2 3
[2,] 1 7
> dimnames(A) = list(
+ c("row1", "row2"), # row names
+ c("col1", "col2", "col3")) # column names

> A # print A
col1 col2 col3
row1 2 4 3
row2 1 5 7

> A["row2", "col3"] # element at 2nd row, 3rd column
[1] 7



@R_Experts
#cbind
ترکیب ستونی کنار یکدیگر

> x = cbind(c(10, 20), c("[]", "[]"), c("[[1,2]]","[[1,3]]"))

> x

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

[1,] "10" "[]" "[[1,2]]"

[2,] "20" "[]" "[[1,3]]"


@R_Experts
#rbind
ترکیب سطری کنار یکدیگر
> x = rbind(c(10, "[]", "[[1,2]]"), c(20, "[]", "[[1,3]]"))
> x
[,1] [,2] [,3]
[1,] "10" "[]" "[[1,2]]"
[2,] "20" "[]" "[[1,3]]"


@R_Experts
#practice_3👆👆👆
#chol
تجزیه چولسکی

#Example

> x <- matrix(c(8,1,1,4),2,2)
> x

[,1] [,2]
[1,] 8 1
[2,] 1 4


> y <- chol(x)
> y

[,1] [,2]
[1,] 2.828427 0.3535534
[2,] 0.000000 1.9685020

> x <- matrix(rep(1:4),2,2)
> x

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


> y <- chol(x)

Error in chol.default(x) :
the leading minor of order 2 is not positive definite



@R_Experts
#rbind & #cbind
در صورتی که بخواهیم با وصل کردن چند بردار یا چند ماتریس به هم ماتریس یا بردار جدید بسازیم از توابع

#rbind()
و
#cbind()
استفاده میکنیم. تابع
#rbind()
بردار ها یا ماتریس ها را به صورت سطری کنار هم قرار می دهد و تابع
#cbind()
این کار را به صورت ستونی انجام می دهد.

@R_Experts