#سرگرمی
با دستور ساده زیر می توان #رنگین_کمان کشید
n <- 2000
pie(rep(1,n ),labels = "",border = NA,col = rainbow(n),main = " R_Experts")
@R_Experts
با دستور ساده زیر می توان #رنگین_کمان کشید
n <- 2000
pie(rep(1,n ),labels = "",border = NA,col = rainbow(n),main = " R_Experts")
@R_Experts
#ginv( )
تابعی در پکیج
MASS
برای محاسبه ی معکوس ماتریس به کار میرود که
معکوس تعمیم یافته هست و زمانی که ماتریس مربعی نباشد میتوان از این دستور استفاده کرد و معکوس ماتریس را بدست اورد
#Example
تابعی در پکیج
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
#مقاذیر_ویژه_بردارهای_ویژه
در مثال قبل :
@R_Experts
در مثال قبل :
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
گزاره هاي منطقي هستند
كه ارزش درست يا نادرست ميگيرند.
@R_EXperts
> 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
@R_Experts
> 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
ترکیب ستونی کنار یکدیگر
@R_Experts
ترکیب ستونی کنار یکدیگر
> 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
ترکیب سطری کنار یکدیگر
@R_Experts
ترکیب سطری کنار یکدیگر
> x = rbind(c(10, "[]", "[[1,2]]"), c(20, "[]", "[[1,3]]"))
> x
[,1] [,2] [,3]
[1,] "10" "[]" "[[1,2]]"
[2,] "20" "[]" "[[1,3]]"
@R_Experts
#chol
تجزیه چولسکی
#Example
@R_Experts
تجزیه چولسکی
#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
|R| Experts
#rbind & #cbind در صورتی که بخواهیم با وصل کردن چند بردار یا چند ماتریس به هم ماتریس یا بردار جدید بسازیم از توابع #rbind() و #cbind() استفاده میکنیم. تابع #rbind() بردار ها یا ماتریس ها را به صورت سطری کنار هم قرار می دهد و تابع #cbind() این کار را به…
#تذکر
اگر طول بردار ها با هم متفاوت باشد نرم افزار هشدار میدهد
ولی باز عملیات را اجرا میکند در حالی که بردار کوچکتر
را باز تکرار میکند و در کنار بردار بزرگتر قرار می هد
@R_Experts
اگر طول بردار ها با هم متفاوت باشد نرم افزار هشدار میدهد
ولی باز عملیات را اجرا میکند در حالی که بردار کوچکتر
را باز تکرار میکند و در کنار بردار بزرگتر قرار می هد
@R_Experts
#لیست_ها
یک لیست مجموعه منظم از اشیا است که اشیا را مولفه های آن لیست می نامیم
مولفه های یک لیست لزومی ندارد هم نوع و یا هم اندازه باشندبه عبارتی برای یک لیست مس توانیم
مولفه هایی از قبیل ماتریس بردارهایی از اعداد یا کارکترها و . . . را داشته باشیم
@R_Experts
برای ساختن یک لیست از تابع
استفاده میکنیم ئر این تابع نام هر مولفه را وارد کرده و بعد از علامت مساوی
شی مورد نظر را وارد می کنیم
@R_Experts
یک لیست مجموعه منظم از اشیا است که اشیا را مولفه های آن لیست می نامیم
مولفه های یک لیست لزومی ندارد هم نوع و یا هم اندازه باشندبه عبارتی برای یک لیست مس توانیم
مولفه هایی از قبیل ماتریس بردارهایی از اعداد یا کارکترها و . . . را داشته باشیم
@R_Experts
برای ساختن یک لیست از تابع
list()
استفاده میکنیم ئر این تابع نام هر مولفه را وارد کرده و بعد از علامت مساوی
شی مورد نظر را وارد می کنیم
@R_Experts
#دیتا_فریم_ها
دیتا فریم ها از لحاظ ساختار شباهت زیادی به ماتریس ها دارند .یک دیتا فریم را می توان ماتریسی
در نظر گرفت که ستون های ان بردار هایی با ساختار های مختلف هستند
یک دیتا فریم در واقع لیستی از بردارهای هم اندازه و لا ساختار های متفاوت است
@R_Experts
برای ساختن یک دیتا فریم از تابع
استفاده میشود .دراین تابع می بایست نام مورد نظر برای هر ستون را به همراه بردار
شامل داده های ان ستون وارد کنیم
@R_Experts
دیتا فریم ها از لحاظ ساختار شباهت زیادی به ماتریس ها دارند .یک دیتا فریم را می توان ماتریسی
در نظر گرفت که ستون های ان بردار هایی با ساختار های مختلف هستند
یک دیتا فریم در واقع لیستی از بردارهای هم اندازه و لا ساختار های متفاوت است
@R_Experts
برای ساختن یک دیتا فریم از تابع
data.frame()
استفاده میشود .دراین تابع می بایست نام مورد نظر برای هر ستون را به همراه بردار
شامل داده های ان ستون وارد کنیم
@R_Experts
ابتدا پکیج MASS
را نصب و فراخوانی کنید
این داده ها مربوط به نقاشان کلاسیک قرن 18 میباشند که در رسته های ترکیب بندی ،رنگ بندی،... دسته بندی شده اند
با این دستور میتوانیم مشاهده کنیم که سطح جایی که اموزش دیدن چگونه است
که در 8 سطح میباشد
@R_Experts
را نصب و فراخوانی کنید
> library(MASS) # load the MASS package
> painters
Composition Drawing Colour Expression School
Da Udine 10 8 16 3 A
Da Vinci 15 16 4 14 A
Del Piombo 8 13 16 7 A
Del Sarto 12 16 9 8 A
Fr. Penni 0 15 8 0 A
Guilio Romano 15 16 4 14 A
این داده ها مربوط به نقاشان کلاسیک قرن 18 میباشند که در رسته های ترکیب بندی ،رنگ بندی،... دسته بندی شده اند
> painters$School
[1] A A A A A A A A A A B B B B B B C C C C C C D D D D
[27] D D D D D D E E E E E E E F F F F G G G G G G G H H
[53] H H
Levels: A B C D E F G H
با این دستور میتوانیم مشاهده کنیم که سطح جایی که اموزش دیدن چگونه است
که در 8 سطح میباشد
@R_Experts
> school = painters$School # the painter schools
> school.freq = table(school) # apply the table function
> school.freq
school
A B C D E F G H
10 6 6 10 7 4 7 4
> cbind(school.freq)
school.freq
A 10
B 6
C 6
D 10
E 7
F 4
G 7
H 4
همان طور که مشاهده میکنید جدول فراوانی بین تعداد نقاشان و سطح جایی که اموزش دیدن رو اوردیم و به یک جدول تبدیل کردیم
و این جدول رو سپس ستونی نمودیم
مثلا
A 10
نشان دهنده ی این است که در سطح اموزش A
10 نفر اموزش دیدند
@R_Experts
> school.relfreq = school.freq / nrow(painters)
> school.relfreq
school
A B C D E F
0.185185 0.111111 0.111111 0.185185 0.129630 0.074074
G H
0.129630 0.074074
> barplot(school.freq)
> colors = c("red", "yellow", "green", "violet", + "orange", "blue", "pink", "cyan")
> barplot(school.freq, # apply the barplot function
+ col=colors) # set the color palette
ابتدا فراوانی نسبی این داده ها را محاسبه و سپس نمودار هیستوگرام انها را رسم کرد هایم که نمودار ها را در پایین مشاهده میکنید 👇👇👇
@R_Experts