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

> set.seed(123)

> rnorm(4)

[1] -0.56047565 -0.23017749  1.55870831  0.07050839

> rnorm(4)

[1]  0.1292877  1.7150650  0.4609162 -1.2650612

> set.seed(123)

> rnorm(4)

[1] -0.56047565 -0.23017749  1.55870831  0.07050839


> sample(1:6, 10, replace=TRUE)

 [1] 2 2 5 3 5 3 5 6 3 5

> set.seed(1)

> sample(1:6, 10, replace=TRUE)

 [1] 2 3 4 6 2 6 6 4 4 1

> sample(1:6, 10, replace=TRUE)

 [1] 2 2 5 3 5 3 5 6 3 5

> set.seed(1)

> sample(1:6, 10, replace=TRUE)

 [1] 2 3 4 6 2 6 6 4 4 1



> set.seed(123)

> index <- sample(1:nrow(iris), 5)

> index

[1] 44 119 62 133 142

> iris[index, ]

  Sepal.Length Sepal.Width Petal.Length Petal.Width  Species

44      5.0     3.5     1.6     0.6   setosa

119     7.7     2.6     6.9     2.3 virginica

62      5.9     3.0     4.2     1.5 versicolor

133     6.4     2.8     5.6     2.2 virginica

142     6.9     3.1     5.1     2.3 virginica





R> sample(LETTERS, 5)
[1] "K" "N" "R" "Z" "G"
R> sample(LETTERS, 5)
[1] "L" "P" "J" "E" "D"
R> set.seed(42); sample(LETTERS, 5)
[1] "X" "Z" "G" "T" "O"
R> set.seed(42); sample(LETTERS, 5)
[1] "X" "Z" "G" "T" "O"


@R_Experts
#جواب_تمرین_5

از دیدگاه @R_Experts

تنها نکته ای که دوستان عزیز به اون توجه نداشتند

در تابع نویسی ما کلیه حالات را باید در نظر بگیریم

استفاده از گزاره منطقی آیا ورودی کاربر یک ماتریس است یا نه؟

میتواند مهم باشد


mytrans <- function(x) {
if (!is.matrix(x)) {
warning("argument is not a matrix: returning NA")
return(NA_real_)
}
y <- matrix(1, nrow=ncol(x), ncol=nrow(x))
for (i in 1:nrow(x)) {
for (j in 1:ncol(x)) {
y[j,i] <- x[i,j]
}
}
return(y)
}

# try it
z <- matrix(1:10, nrow=5, ncol=2)
z
tz <- mytrans(z)
tz



@R_Experts
#write
با استفاده از این دستور به جای read
میتوان داده های تولیدی را ذخیره کرد اگر شما دایرکتوری تعریف کرده باشید فایل مورد نظر در انجا
در غیر این صورت
به صورت
پیش فرض در Document
سیستم شما دخیره میشود

@R_Experts
#Example

#install.packages("rngWELL")

#install.packages("randtoolbox")

library(rngWELL)

library(randtoolbox)

halt=halton(10,dim=1)

halt

write.csv(halt,"halt.csv")

در اخر Document سیستمونتون را چک و فایل halt با فرمت .csv رو ببینید

@R_Experts
#pmin_pmax

مینیمم و ماکزیمم نسبی به این معنی که
مقادیر دو رشته را نسبت به هم و نظیر به نظیر
با هم مقایسه میکنند
و ماکزیمم و مینیمم را تعیین میکنند

> pmin(c(1,4,9),c(2,3,10))
[1] 1 3 9


@R_Experts
#cumsum
جمع تجمعی اعضای یک بردار

> x=1:10
> cumsum(x)
[1] 1 3 6 10 15 21 28 36 45 55
>


@R_Experts