اپراتورهای R

آموزش اپراتورهای R به زبان ساده

اساطیر زبان

یک اپراتور نمادی است که به کامپایلر می گوید عملیات ریاضی یا منطقی خاصی را انجام دهد. زبان R از نظر اپراتورهای داخلی بسیار غنی است و انواع اپراتورهای زیر را فراهم می آورد:

انواع اپراتورها

ما در برنامه نویسی R، انواع اپراتورهای زیر را در اختیار داریم:

  • عملگرهای حسابی
  • عملگرهای رابطه ای
  • عملگرهای منطقی
  • عملگرهای تخصیص
  • عملگرهای متفرقه

عملگرهای حسابی

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

عملگر توضیح عملگر مثال

+

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

v <- c( 2,5.5,6)

t <- c(8, 3, 4)

print(v+t)

اجرای کد بالا؛ نتیجه زیر را ایجاد می کند:

[۱] ۱۰٫۰ ۸٫۵ ۱۰٫۰

وکتور دوم را از اولین بردار کم می کند.

v <- c( 2,5.5,6)

t <- c(8, 3, 4)

print(v-t)

اجرای کد بالا؛ نتیجه زیر را ایجاد می کند:

[۱] -۶٫۰ ۲٫۵ ۲٫۰

* دو بردار را در هم ضرب می کند

v <- c( 2,5.5,6)

t <- c(8, 3, 4)

print(v*t)

اجرای کد بالا؛ نتیجه زیر را ایجاد می کند:

[۱] ۱۶٫۰ ۱۶٫۵ ۲۴٫۰

/

اولین بردار را بر بردار دوم تقسیم می کند

v <- c( 2,5.5,6)

t <- c(8, 3, 4)

print(v/t)

اجرای کد بالا؛ نتیجه زیر را ایجاد می کند:

[۱] ۰٫۲۵۰۰۰۰ ۱٫۸۳۳۳۳۳ ۱٫۵۰۰۰۰۰

%%

باقیمانده ی تقسیم بردار اول بر بردار دوم را برمی گرداند

v <- c( 2,5.5,6)

t <- c(8, 3, 4)

print(v%%t)

اجرای کد بالا؛ نتیجه زیر را ایجاد می کند:

[۱] ۲٫۰ ۲٫۵ ۲٫۰

%/%

نتیجه تقسیم اولین بردار بر دومی (خارج قسمت) را ایجاد میکند

v <- c( 2,5.5,6)

t <- c(8, 3, 4)

print(v%/%t)

اجرای کد بالا؛ نتیجه زیر را ایجاد می کند:

[۱] ۰ ۱ ۱

^ اولین بردار را به توان بردار دوم می رساند.

v <- c( 2,5.5,6)

t <- c(8, 3, 4)

print(v^t)

اجرای کد بالا؛ نتیجه زیر را ایجاد می کند:

[۱] ۲۵۶٫۰۰۰ ۱۶۶٫۳۷۵ ۱۲۹۶٫۰۰۰

عملگرهای رابطه ای

جدول زیر نشان دهنده اپراتورهای رابطه ای است که زبان برنامه نویسی R از آنها پشتیبانی می کند. هر عنصر از بردار اول با عنصر مربوطه ی بردار دوم مقایسه می شود. نتیجه مقایسه یک متغیر بولین است.

عملگر توضیح عملکرد آن مثال

>

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

v <- c(2,5.5,6,9)

t <- c(8,2.5,14,9)

print(v>t)

اجرای کد بالا نتیجه زیر را حاصل می کند:

[۱] FALSE TRUE FALSE FALSE

<

بررسی می کند که آیا هر عنصر از اولین بردار؛ از عنصر مربوطه در بردار دوم کوچک تر است یا خیر.

v <- c(2,5.5,6,9)

t <- c(8,2.5,14,9)

print(v < t)

اجرای کد بالا نتیجه زیر را حاصل می کند:

[۱] TRUE FALSE TRUE FALSE

==

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

v <- c(2,5.5,6,9)

t <- c(8,2.5,14,9)

print(v == t)

اجرای کد بالا نتیجه زیر را حاصل می کند:

[۱] FALSE FALSE FALSE TRUE

<=

بررسی می کند که آیا هر عنصر اولین بردار کوچکتر یا مساوی عنصر مربوطه در بردار دوم می باشد.

v <- c(2,5.5,6,9)

t <- c(8,2.5,14,9)

print(v<=t)

اجرای کد بالا نتیجه زیر را حاصل می کند:

[۱] TRUE FALSE TRUE TRUE

<=

بررسی می کند که آیا هر عنصر اولین بردار؛ بزرگتر یا مساوی عنصر مربوطه در بردار دوم می باشد.

v <- c(2,5.5,6,9)

t <- c(8,2.5,14,9)

print(v>=t)

اجرای کد بالا نتیجه زیر را حاصل می کند:

[۱] TRUE FALSE TRUE TRUE

!=

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

v <- c(2,5.5,6,9)

t <- c(8,2.5,14,9)

print(v!=t)

اجرای کد بالا نتیجه زیر را حاصل می کند:

[۱] TRUE TRUE TRUE FALSE

عملگرهای منطقی

در ادامه جدولی آورده شده است که نشان دهنده عملگرهای منطقی می باشد که در زبان برنامه نویسی R از آنها پشتیبانی می شود. اعمال این عملگرها فقط روی بردارهایی شدنی است که از نوع منطقی یا مختلط باشند. تمام اعداد بزرگتر از ۱ به عنوان مقدار منطقی TRUE در نظر گرفته می شود.

هر عنصر از بردار اول؛ با عنصر مربوطه در بردار دوم مقایسه می شود. نتیجه به شکل یک مقدار بولین نشان داده می شود.

اپراتور توصیف مثال

&

آن را اپراتور AND منطقی عنصر به عنصر می نامند. این اپراتور هر عنصر از بردار اول را با عنصر مربوطه در بردار دوم ترکیب می کند و اگر هر دو متغیر TRUE باشند؛ خروجی TRUE را باز می گرداند.

v <- c(3,1,TRUE,2+3i)

t <- c(4,1,FALSE,2+3i)

print(v&t)

این کد؛ نتیجه زیر را حاصل می کند:

[۱] TRUE TRUE FALSE TRUE

|

عملگر منطقی OR عنصر به عنصر نامیده می شود و هر عنصر از بردار اول را با عنصر مربوطه در بردار دوم ترکیب می کند و اگر یکی از متغیرها TRUE باشد؛ خروجی TRUE را باز میگرداند

v <- c(3,0,TRUE,2+2i)

t <- c(4,0,FALSE,2+3i)

print(v|t)

اجرای این کد نتیجه زیر را حاصل می کند:

[۱] TRUE FALSE TRUE TRUE

!

این عملگر که اپراتور NOT منطقی نامیده می شود؛ هر عنصر از بردار را گرفته و مقدار منطقی مخالف آن را باز می گرداند.

v <- c(3,0,TRUE,2+2i)

print(!v)

اجرای کد بالا، نتیجه زیر را باز می گرداند:

[۱] FALSE TRUE FALSE FALSE

اپراتور منطقی && و تنها عنصر اول بردارها را در نظر گرفته و یک بردار در خروجی ایجاد می کند که فقط یک عنصر دارد.

اپراتور توضیح عملکرد اپراتور مثال

&&

اپراتور AND منطقی نامیده می شود. اولین عنصر از هر دو بردار را گرفته و فقط اگر هر دو عنصر TRUE باشد؛ عبارت TRUE را باز می گرداند.

v <- c(3,0,TRUE,2+2i)

t <- c(1,3,TRUE,2+3i)

print(v&&t)

اجرای کد بالا، نتیجه زیر را ایجاد می کند:

[۱] TRUE

|| اپراتور OR منطقی نامیده می شود و اولین عنصر از هر دو بردار را اتخاذ کرده و اگر یکی از آنها TRUE باشد، عبارت TRUE را باز می گرداند.

v <- c(0,0,TRUE,2+2i)

t <- c(0,3,TRUE,2+3i)

print(v||t)

اجرای کد بالا، نتیجه زیر را ایجاد می کند:

[۱] FALSE

اپراتورهای تخصیص

این اپراتورها برای تخصیص دادن مقادیری به متغیرها به کار گرفته می شوند.

اپراتورها توضیح عملکرد آنها مثال

<-

یا

=

یا

<<-

تخصیص سمت چپ نامیده می شود.

v1 <- c(3,1,TRUE,2+3i)

v2 <<- c(3,1,TRUE,2+3i)

v3 = c(3,1,TRUE,2+3i)

print(v1)

print(v2)

print(v3)

با اجرای کد بالا، نتیجه زیر ایجاد می شود:

[۱] ۳+۰i 1+0i 1+0i 2+3i

[۱] ۳+۰i 1+0i 1+0i 2+3i

[۱] ۳+۰i 1+0i 1+0i 2+3i

->

یا

->>

تخصیص سمت راست نامیده می شود.

c(3,1,TRUE,2+3i) -> v1

c(3,1,TRUE,2+3i) ->> v2

print(v1)

print(v2)

اجرای کد بالا؛ نتیجه زیر را حاصل می کند:

[۱] ۳+۰i 1+0i 1+0i 2+3i

[۱] ۳+۰i 1+0i 1+0i 2+3i

اپراتورهای متفرقه

این اپراتورها برای اهداف خاصی استفاده می شوند و عموماً ریاضیاتی یا منطقی نیستند.

اپراتور توضیح عملکرد اپراتور مثال

:

اپراتور دو نقطه؛ که یک سری از اعداد را به صورت متوالی برای یک بردار ایجاد می کند.

v <- 2:8

print(v)

اجرای این کد؛ نتیجه زیر را به همراه دارد:

[۱] ۲ ۳ ۴ ۵ ۶ ۷ ۸

%in%

این اپراتور برای تعیین این موضوع به کار می رود که آیا یک عنصر به یک بردار متعلق است یا نه.

v1 <- 8

v2 <- 12

t <- 1:10

print(v1 %in% t)

print(v2 %in% t)

اجرای کد بالا؛ نتیجه زیر را به دنبال می آورد:

[۱] TRUE

[۱] FALSE

%*%

این اپراتور برای ضرب یک ماتریس در ترانهاده آن به کار می رود.

M = matrix( c(2,6,5,1,10,4), nrow = 2,ncol = 3,byrow = TRUE)

t = M %*% t(M)

print(t)

اجرای کد بالا نتیجه زیر را حاصل می کند:

[,۱] [,۲]

[۱,] ۶۵ ۸۲

[۲,] ۸۲ ۱۱۷

 

تفاوت پک های حرفه ای ما با آموزشهای رایگان: بطور خلاصه از زمین تا آسمان! 1-پکها، جدیدترین نسخه نرم افزارها را آموزش می دهند با قابلیت های بسیار بیشتر. 2-پکها توسط متخصص آن نرم افزار، به صورت کاملا پروژه محور و با حل چالش هایی که در مسیر کار عملی و حرفه ای با آن روبرو می شوید تهیه شده اند و بعد از استفاده، کاملا برای بازار کار آماده اید! 3- متد این پکها کاملا کار شده و تا ماهها، در ذهن تان ماندگارند و یادگیری بسیار سریعتر و کاملتری خواهید داشت. آموزشهای رایگان فقط دستورات نرم افزارها را (آنهم ناقص) بیان می کنند و تازه برای ورود به بازار باید ماهها تجربه عملی هم کسب کنید !!

turned_in

چرب زبان

با این اپلیکیشن ساده، هر زبانی رو فقط با 5 دقیقه در روز، توی 80 روز مثل بلبل حرف بزن! بهترین متد روز، تقویت حافظه، آموزش تصویری. یادگیری زبان کلید یادگیری هر مهارتی در قرن 21 !


حتما بخوانید!

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.

فهرست