|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
#diag

diag() function extracts or replaces the diagonal of a matrix, or constructs a diagonal matrix.

diag(x = 1, nrow, ncol)

diag(x) <- value


x: matrix, vector
nrow, ncol: Optional dimensions for the result when x is not a matrix
: either a single value or a vector of length equal to that of the current diagonal. Should be of a mode which can be coerced to that of x
...

> diag(10,3,4)


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

[1,]   10    0    0    0

[2,]    0   10    0    0

[3,]    0    0   10    0



> diag(3)


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

[1,]    1    0    0

[2,]    0    1    0

[3,]    0    0    1


@R_Experts
#dim


dim() function gets or sets the dimension of a matrix, array or data frame.

dim(x)


x: array, matrix or data frame.

>BOD #R Biochemical Oxygen Demand Dataset

Time demand
1 1 8.3
2 2 10.3
3 3 19.0
4 4 16.0
5 5 15.6
6 7 19.8


>class(BOD)

[1] "data.frame"


>dim(BOD) #get dimension

[1] 6 2


Set dimension of a matrix:

>x <- rep(1:20)
>x

[1] 1 2 3 4 5 6 7 8 9 10


Set dimension to 2 × 5:
>dim(x) <- c(2,5)
>x

[,1] [,2] [,3] [,4] [,5]
[1,] 1 3 5 7 9
[2,] 2 4 6 8 10


@R_Experts
#prod

prod() function returns the multiplication results of all the values present in its arguments.

prod(..., na.rm=FALSE)


...: numeric or complex or logical vectors
na.rm: whether missing values be removed or not
...

> prod(4:6) #4 × 5 × 6

[1] 120


> x <- c(3.2,5,4.3)
> prod(x) #3.2 × 5 × 4.3

[1] 68.8

@R_Experts
#crossprod
دستوری که یک ماتریس دلخواه را از چپ و راست در ترانهاده اش ضرب میکند

crossprod() function returns matrix cross-product.

crossprod(x, y = NULL)
tcrossprod(x, y = NULL)


x: numeric matrix
y: numeric matrix, if y=NULL, y is the same as x
...

> x <- matrix(1:9,3,3)
> x

[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9


> crossprod(x)
>t(x)%*%x
[,1] [,2] [,3]
[1,] 14 32 50
[2,] 32 77 122
[3,] 50 122 194


> tcrossprod(x)
x%*%t(x)
[,1] [,2] [,3]
[1,] 66 78 90
[2,] 78 93 108
[3,] 90 108 126

@R_Experts
#which

which() function gives the TRUE indices of a logical object, allowing for array indices.

which(x, arr.ind = FALSE, useNames = TRUE)
arrayInd(ind, .dim, .dimnames = NULL, useNames = FALSE)


x: logical vector or array. NAs are allowed and omitted (treated as if FALSE)
arr.ind: logical; should array indices be returned when x is an array?
ind: integer-valued index vector, as resulting from which(x)
.dim: integer vector
.dimnames: optional list of character dimnames(.), of which only .dimnames[[1]] is used
useNames: logical indicating if the value of arrayInd() should have (non-null) dimnames at all


> which(letters=="h")

[1] 8


> BOD

Time demand
1 1 8.3
2 2 10.3
3 3 19.0
4 4 16.0
5 5 15.6
6 7 19.8


> which(BOD$demand == 16)

[1] 4


> x <- matrix(1:9,3,3)
> x

[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9


> which(x %% 3 == 0, arr.ind=TRUE)

row col
[1,] 3 1
[2,] 3 2
[3,] 3 3


> which(x %% 3 == 0, arr.ind=FALSE)

[1] 3 6 9


@R_Experts
#R_Experts

vector1 <- c(5,9,3)
vector2 <- c(10,11,12,13,14,15)
column.names <- c("COL1","COL2","COL3")
row.names <- c("ROW1","ROW2","ROW3")
matrix.names <- c("Matrix1","Matrix2")

#R_Experts:#Take these vectors as input to the array.
result <- array(c(vector1,vector2),dim = c(3,3,2),dimnames = list(row.names,column.names,
matrix.names))
print(result)

#R_Experts

👆👆👆👆👆

@R_Experts
#R_Date_&_Time_Functions
در این نرم افزار چندین نوع #تاریخ و #زمان وحود دارد که در تابع مختلف موجود می باشند .

data()

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

 Sys.Date() 

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

Sys.time()

که تاریخ و زمان سیستم را نمایش میدهد

#نکته :کلاس هر یک از این توابع مختلف است


@R_Experts
#ساختار_کلی_تابع

ساختار کلی یک تابع به صورت شکل بالا است.

.
@R_Exper
#نکته_در_مورد_تابع

1. ما به تعداد نامحدود می توانیم با فراخوانی تابعی که خود نوشته از تابع در طول برنامه های خود استفتده کنیم .

2.ما متغیرهای های سراسری و متغیر های محلی داریم
به متغیرهایی که خارج از تابع (خارج از براکت های تابع) اورده می شوند متغیرهای سراسری گفته میشوند که هم در داخل و هم خارج تابع از تابع میتوان از ان استفاده کرد

ولی متغیرهایی که داخل تابع تعریف میشوند متغیرهای محلی نامیده میشوند و فقط در داخل تابع قابل استفاده هستند

@R_Experts

3.دستور
return()


فقط قادر به نمایش یک خروجی هست در صورتی که بخواهیم که تابع ما بیش از یک خروجی داشته باشد باید متغیر ها را در یک لیست قرار دهیم و سپس از دستور
return(list())

استفاده کنیم

@R_Experts

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

@R_Experts

5. وقتی در ارگومان ورودی یک عدد خاصی قرار می هیم بدین معنی است اگر این ارگومان را کاربر وارد نکرد همان مقدار قرار بدهد (مقدار پیش فرض تابع قرار می دهد)

@R_Experts
#تمرین_4

تابعی بنویسید که یک بردار را بگیرد و برای ان میانیگن حسابی و هندسی و هار مونیک ("☺️☺️☺️ دو ستانی که علاقه مند هستند می تواند میانگین پیراسته را نیز محاسبه نمایند☻☻☻") را حساب کند و سپس عمل مقایسه را انجام دهد و هر سه مانگین را در خروجی نشان دهد و علاو بر ان بزرگترین میانگین ها را نیز در خزوجی برای ما مشخص نمیاد


_____________________________________________________

جواب را به یکی از ای دی های زیر ارسال نمایید

@Analyst20
@javad_vhd
@hamedrezaei2

در نهایت از این که با ارسال جواب ما را به ادامه کارمان دلگرم می کنید سپاس گذاریم

با تشکر 🙏🌷🌸
https://telegram.me/R_Experts
#جواب_تمرین_2
x<-rnorm(1000)

x

y<-matrix(x,10,100)

y

vv<-rep(NA,100)

vv

for(i in 1:100){

vv[i]<-var(y[ ,i])

i=i+1

}

vv

yy<-matrix(vv,100,1)

yy

s=0

for(i in 1:100){

for(k in i:100){

if (yy[i,1] > yy[k,1]){

s=s+1}

else{s=s

}

k=k+1

}

i=i+1

}

s


@R_Experts