در این آموزش نحوه کار با حلقه for در R را خواهید آموخت:
- مدرس: افشین متولی
- سایت: آر استودیو
- سطح آموزش: مبتدی
حلقه for یکی از پرکاربردترین دستورهای R است که برای ایجاد تکرار در بردارها و ماتریس ها مورد استفاده قرار می گیرد.
قالب کلی حلقه for:
1 2 3 4 |
for (val in sequence) { statement } |
در این دستور sequence یک بردار است و val هر یک از مقادیر موجود در این حلقه را می گیرد. در هر تکرار، عبارت statement ارزیابی خواهد شد.
فلوچارت کار با حلقه for در R
مثال:
در ادامه یک مثال ارائه می کنیم که تعداد اعداد زوج را در یک بردار برای شما می شمارد.
1 2 3 4 5 6 |
x <- c(2,5,3,9,8,11,6) count <- 0 for (val in x){ if(val %% 2 == 0) count = count+1 } print(count) |
توجه داشته باشید که عبارت موجود در درون شرط if نشان دهنده مقادیری است که باقیمانده تقسیم آن ها بر 2 برابر صفر است (زوج بودن اعداد).
خروجی:
1 |
[1] 3 |
در مثال بالا این حلقه 7 بار تکرار می شود زیرا x تعداد 7 عنصر دارد.
مثال:
در این مثال با دو حلقه در درون هم کار می کنیم:
1 2 3 4 5 6 7 8 9 10 11 12 |
# r-studio.ir A <- c() for(i in 1:50){ B <- rnorm(1) if(B <= 0.2){ A[i] <- 2*B+2 } else { A[i] <- B-1 } } A |
این حلقه های for از نوع حلقه های ساده و تکی هستند. اما گاهی شما برای کار کردن با ماتریس ها یا دیتافرم ها نیاز به استفاده از دو یا چند حلقه for در R خواهید داشت. بنابراین در این جا یک مثال از حلقه ای با for برای شما ارائه می کنیم:
مثال:
1 2 3 4 5 |
for (i in 1:6) { for (j in i:3) { print(paste(i,j,sep=",")) } } |
همانطور که می بینید در این حلقه شمارنده j وابسته به شمارنده i است. معمولاً در نوشتن حلقه برای ماتریس ها و سری ها نیاز به این گونه حلقه ها داریم.
مثال:
1 2 3 4 5 6 7 8 9 10 |
> for (i in 1:3) for (j in 1:3) cat(i,j,i*j, "\n") 1 1 1 1 2 2 1 3 3 2 1 2 2 2 4 2 3 6 3 1 3 3 2 6 3 3 9 |
بنابراین همواره می توانید دو حلقه را به صورت خطی نیز بنویسید. به طور کلی نوشتن برنامه های R در چند خط الزامی نیست و به راحتی می توانید با قرار دادن علامت نقطه ویرگول (;) کدها را در یک خط از هم متمایز کنید ولی بهتر این است که برای منظم شدن کدها، آن ها را در چند خط بنویسید. برای مشاهده مثال هایی در این زمینه به سایت Rseek مراجعه کنید.
لطفاً دیدگاه خود را برای ما ارسال کنید.
آموزشهای دیگر:
- آموزش کار با دستور IFELSE در R
- آموزش کار با if…else در R
- آموزش کار با Dataframe در R
- آموزش کار با List در R
- آموزش کار با ماتریس ها در R
- آموزش کار با بردارها در R
- آموزش رسم کردن نمودار میله ای در R
- آموزش ذخیره کردن نمودارها در R
- آموزش رسم چند گراف در یک قاب در R
- آموزش رسم نمودار توابع در R
- آموزش رسم نمودار جعبه ای در R
- آموزش رسم نمودار دایره ای در R
- آموزش رسم هیستوگرام در R
- ۵ روش موثر برای یادگیری R
- آموزش کار با break و next در R
- آموزش کار با حلقه repeat در R