آر

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

اساطیر زبان

وکتورها اساسی ترین اشیاء داده در R هستند و شش نوع بردار وجود دارد که عبارتند از: منطقی، عدد صحیح ، مضاعف، مختلط، کاراکتر و خام.

ایجاد بردار

بردارهای تک عضوی

حتی زمانی که شما فقط یک مقدار در R می نویسید؛ آن مقدار درواقع برداری است که طول ۱ دارد و به یکی از انواع بردارهای بالا تعلق دارد:

# Atomic vector of type character.

print(“abc”);

# Atomic vector of type double.

print(12.5)

# Atomic vector of type integer.

print(63L)

# Atomic vector of type logical.

print(TRUE)

# Atomic vector of type complex.

print(2+3i)

# Atomic vector of type raw.

print(charToRaw(‘hello’))

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

[۱] “abc”

[۱] ۱۲٫۵

[۱] ۶۳

[۱] TRUE

[۱] ۲+۳i

[۱] ۶۸ ۶۵ ۶c 6c 6f

بردارهای چند عضوی

با استفاده از عملگر دو نقطه با داده های عددی؛ ایجاد می شوند:

# Creating a sequence from 5 to 13.

v <- 5:13

print(v)

# Creating a sequence from 6.6 to 12.6.

v <- 6.6:12.6

print(v)

# If the final element specified does not belong to the sequence then it is discarded.

v <- 3.8:11.4

print(v)

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

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

[۱] ۶٫۶ ۷٫۶ ۸٫۶ ۹٫۶ ۱۰٫۶ ۱۱٫۶ ۱۲٫۶

[۱] ۳٫۸ ۴٫۸ ۵٫۸ ۶٫۸ ۷٫۸ ۸٫۸ ۹٫۸ ۱۰٫۸

استفاده از عملگر (.Seq)

# Create vector with elements from 5 to 9 incrementing by 0.4.

print(seq(5, 9, by = 0.4))

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

[۱] ۵٫۰ ۵٫۴ ۵٫۸ ۶٫۲ ۶٫۶ ۷٫۰ ۷٫۴ ۷٫۸ ۸٫۲ ۸٫۶ ۹٫۰

استفاده از تابع ()c

اگر یکی از عناصر، کاراکتر باشد؛ مقادیر غیر کاراکتری به نوعی کاراکتر تخصیص داده می شود.

# The logical and numeric values are converted to characters.

s <- c(‘apple’,’red’,5,TRUE)

print(s)

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

[۱] “apple” “red” “5” “TRUE”

دسترسی به عناصر بردار

عناصر بردار با استفاده از شاخص گذاری در دسترس قرار می گیرند. براکت ها [ ] برای شاخص گذاری و فهرست سازی استفاده می شود. شاخص گذاری با موقعیت ۱ آغاز می شود. دادن یک مقدار منفی در این شاخص، باعث می شود که این عنصر از نتیجه حذف شود. TREU، FASE یا ۰ و ۱ را نیز می توان برای شاخص گذاری استفاده کرد.

# Accessing vector elements using position.

t <- c(“Sun”,”Mon”,”Tue”,”Wed”,”Thurs”,”Fri”,”Sat”)

u <- t[c(2,3,6)]

print(u)

# Accessing vector elements using logical indexing.

v <- t[c(TRUE,FALSE,FALSE,FALSE,FALSE,TRUE,FALSE)]

print(v)

# Accessing vector elements using negative indexing.

x <- t[c(-2,-5)]

print(x)

# Accessing vector elements using 0/1 indexing.

y <- t[c(0,0,0,0,0,0,1)]

print(y)

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

[۱] “Mon” “Tue” “Fri”

[۱] “Sun” “Fri”

[۱] “Sun” “Tue” “Wed” “Fri” “Sat”

[۱] “Sun”

به کار گیری بردار

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

# Create two vectors.

v1 <- c(3,8,4,5,0,11)

v2 <- c(4,11,0,8,1,2)

# Vector addition.

add.result <- v1+v2

print(add.result)

# Vector subtraction.

sub.result <- v1-v2

print(sub.result)

# Vector multiplication.

multi.result <- v1*v2

print(multi.result)

# Vector division.

divi.result <- v1/v2

print(divi.result)

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

[۱] ۷ ۱۹ ۴ ۱۳ ۱ ۱۳

[۱] -۱ -۳ ۴ -۳ -۱ ۹

[۱] ۱۲ ۸۸ ۰ ۴۰ ۰ ۲۲

[۱] ۰٫۷۵۰۰۰۰۰ ۰٫۷۲۷۲۷۲۷ Inf 0.6250000 0.0000000 5.5000000

بازیافت عناصر برداری

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

v1 <- c(3,8,4,5,0,11)

v2 <- c(4,11)

# V2 becomes c(4,11,4,11,4,11)

add.result <- v1+v2

print(add.result)

sub.result <- v1-v2

print(sub.result)

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

[۱] ۷ ۱۹ ۸ ۱۶ ۴ ۲۲

[۱] -۱ -۳ ۰ -۶ -۴ ۰

مرتب سازی اعضای یک بردار

اعضای درون یک بردار را می توان با استفاده از تابع ()sort مرتب سازی کرد.

v <- c(3,8,4,5,0,11, -9, 304)

# Sort the elements of the vector.

sort.result <- sort(v)

print(sort.result)

# Sort the elements in the reverse order.

revsort.result <- sort(v, decreasing = TRUE)

print(revsort.result)

# Sorting character vectors.

v <- c(“Red”,”Blue”,”yellow”,”violet”)

sort.result <- sort(v)

print(sort.result)

# Sorting character vectors in reverse order.

revsort.result <- sort(v, decreasing = TRUE)

print(revsort.result)

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

[۱] -۹ ۰ ۳ ۴ ۵ ۸ ۱۱ ۳۰۴

[۱] ۳۰۴ ۱۱ ۸ ۵ ۴ ۳ ۰ -۹

[۱] “Blue” “Red” “violet” “yellow”

[۱] “yellow” “violet” “Red” “Blue”

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

turned_in

چرب زبان

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


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

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

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

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

فهرست