خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

نحوه استفاده از حلقه for در R (با مثال)

برای ساده کردن محاسبات پیچیده و سایر عملیات های تکراری، بر حلقه for مسلط شوید.

حلقه ها یک ساختار اساسی در برنامه نویسی هستند که یک بلوک کد را می گیرند و آن را به طور مکرر اجرا می کنند. حلقه‌های For یکی از انواع حلقه‌هایی هستند که تقریباً همه زبان‌ها حاوی آن هستند. حلقه های R بخشی جدایی ناپذیر از تجزیه و تحلیل داده ها هستند.

آنها اهداف مختلفی را انجام می دهند، از قالب بندی خروجی تا اجرای محاسبات روی مجموعه داده های بزرگ. استفاده از حلقه‌های for در R انجام تجزیه و تحلیل داده‌ها را آسان‌تر می‌کند.

R’s Basic for Loop

تابع حلقه for زبان R مشابه استاندارد حلقه های موجود در Go و بسیاری از زبان های برنامه نویسی دیگر است. با توجه به یک نقطه شروع، کد موجود در آن را چند بار اجرا می کند.

یک شمارنده تکراری را که حلقه در حال حاضر در آن است نگه می دارد و می توانید از بلوک کد مرتبط به آن دسترسی داشته باشید. حلقه ها می توانند برای تعداد ثابتی از تکرارها یا برای طول کل یک آرایه، بردار یا لیست اجرا شوند.

حلقه های تکرار ثابت

حلقه های تکرار ثابت در R شکل زیر را دارند:

for (x in 1:10) {
  print(x)
}

x در حلقه متغیری است که تکرار حلقه را ذخیره می کند.

بعد از کلمه کلیدی “in” نقطه شروع و پایان حلقه قرار دارد. حلقه تکرار کننده خود را از شماره اول شروع می کند.

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

اگر اینطور باشد، اجرای کد پس از حلقه ادامه خواهد یافت. اگر اینطور نباشد، تکرار کننده 1 افزایش می یابد و بلوک کد موجود در براکت ها دوباره اجرا می شود.

مطلب مرتبط:   نحوه خواندن و نوشتن فایل های XML با جاوا

خروجی یک برنامه R که از یک حلقه تکرار ثابت برای چاپ اعداد از 1 تا 10 استفاده می کند.

برای حلقه‌ها روی آرایه‌ها، فهرست‌ها و بردارها

درست مانند حلقه زدن از طریق فرهنگ لغت در پایتون، می توانید با استفاده از حلقه for روی ساختارهای داده مناسب در R تکرار کنید. می‌توانید از هر ساختار داده‌ای تکرارپذیر بعد از کلمه کلیدی «in»، به‌جای نقطه شروع و پایان ثابت استفاده کنید.

حلقه زدن به این روش رفتار کد را تغییر می دهد. در اینجا، حلقه مانند یک حلقه foreach از زبان هایی مانند C# عمل می کند:

employees <- list("Ben", "Jane", "Suzi", "Josh", "Carol")

for (x in employees) {
  print(x)
}

اکنون، به جای x نگه داشتن تکرار فعلی حلقه، شیء را از آرایه یا لیستی که حلقه در حال حاضر در آن قرار دارد، نگه می دارد. پس از اتمام هر حلقه، اگر موارد بیشتری در لیست، آرایه یا بردار وجود داشته باشد، x به آیتم بعدی تنظیم می شود. اگر موارد بیشتری وجود نداشته باشد، اجرا با کد بعد از حلقه ادامه خواهد یافت.

خروجی یک برنامه R که روی یک لیست حلقه می زند و محتویات آن را چاپ می کند

تابع اولیه c و برای حلقه ها

علاوه بر ساختارهای داده ای که از قبل پر شده اند، R می تواند یک ساختار جدید را در اعلان حلقه for بنویسد. برای انجام این کار، از تابع c برای ترکیب چند عنصر در یک بردار جدید استفاده کنید.

با استفاده از این روش می توانید مثال بالا را ساده کنید:

for (x in c("Ben", "Jane", "Suzi", "Josh", "Carol")) {
  print(x)
}

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

خروجی یک برنامه R که روی یک بردار ناشناس حلقه می زند تا محتویات آن را چاپ کند

بیانیه های پرش R

دو عبارت به شما امکان می دهد از تکرارهای حلقه رد شوید: break و next. آنها این کار را به روش های مختلف انجام می دهند. شما باید مطمئن شوید که تفاوت بین این دو را می دانید.

مطلب مرتبط:   نحوه پیاده سازی کنترل دسترسی مبتنی بر نقش در Express.js REST API با استفاده از Passport.js و JWT

کلید واژه شکست

هنگامی که یک حلقه در داخل خود با دستور break مواجه می شود، بلافاصله حلقه را می بندد. از آنجایی که برنامه پس از زدن کلمه کلیدی break از حلقه خارج می شود، دیگر هیچ کدام از کدهای باقی مانده را اجرا نمی کند:

days <- c("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday",
 "Sunday")

for (x in days) {
  if (x == "Saturday") {
    break
  }

  print(x)
}

حلقه بالا همه روزهای هفته را چاپ می کند، اما هیچ یک از روزهای آخر هفته را چاپ نمی کند.

خروجی یک برنامه R که از دستور break برای خروج از یک حلقه استفاده می کند

کلمه کلیدی بعدی

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

days <- c("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday",
 "Sunday")

for (x in days) {
  if (x == "Saturday") {
    next
  }

  print(x)
}

این حلقه هر روز هفته و یکشنبه خروجی خواهد داشت، اما شنبه چاپ نمی شود.

خروجی یک برنامه R که از دستور بعدی برای رد کردن برخی از تکرارهای یک حلقه استفاده می کند

مثال برای حلقه ها در R

موقعیت‌های بسیار متنوعی وجود دارد که در آن حلقه‌های for در R مفید هستند. آنها می‌توانند روشی عالی برای انجام محاسبات تکراری باشند، مانند اضافه کردن اعداد برای به دست آوردن مجموع:

orders <- list(23.4, 699.8, 1042.0)
total <- 0.0

for (order in orders) {
  total <- order + total
}

cat("the total is $", total, "\n")

این مثال یک کل سفارش از هر سفارش جداگانه در یک لیست را به کل کل اضافه می کند.

مطلب مرتبط:   3 بسته GraphQL مبتنی بر Go برای API بعدی شما

خروجی یک برنامه R که از یک حلقه برای محاسبه مجموع کل از یک لیست استفاده می کند

از طرف دیگر، یک حلقه for می تواند به شما کمک کند تا به سرعت و به آسانی مقادیر زیادی از داده های با فرمت مناسب را خروجی کنید:

day_totals <- c(567.82, 364.72, 762.81, 354.99, 622.87)

for (day in 1:length(day_totals)) {
  cat("Day #", day, ": $", day_totals[day],"\n")
   day <- day + 1
}

می توانید از حلقه for برای چاپ هر روز هفته و کل فروش آن روز خاص استفاده کنید.

خروجی یک برنامه R که از یک حلقه برای چاپ یک سری مقادیر از یک لیست به عنوان مقادیر فرمت شده استفاده می کند

می توانید از یک حلقه for برای محاسبه نتایج استفاده کنید و آنها را برای کدنویسی خارج از حلقه for در دسترس قرار دهید تا اطلاعات مختلفی به دست آورید:

test_scores <- c(67, 89, 72, 44)
score_total <- 0
num_tests <- 0

for (score in test_scores) {
  score_total <- score_total + score
  num_tests <- num_tests + 1
}

average_score <- score_total / num_tests
print(average_score)

حلقه بالا میانگین نمرات دانش آموزان در یک آزمون را محاسبه می کند.

خروجی یک برنامه R که از یک حلقه for برای محاسبه میانگین استفاده می کند

هر آنچه که باید در مورد R’s for Loops بدانید

یادگیری نحوه اجرای مجموعه ای از حلقه ها یا تکرار بر روی یک مجموعه داده بدون طول ثابت ضروری است.

چه نیاز به انجام محاسبات مکرر بر روی یک آرایه داشته باشید، هر آیتم را در یک لیست چاپ کنید، یا دسته بزرگی از داده ها را به شکل قابل خواندن نشان دهید، حلقه R’s for می تواند کمک کند.

درک اصول اساسی پشت حلقه ها مهارت ارزشمندی است که در زرادخانه خود دارید و تسلط بر آن می تواند به شما در نوشتن کدهای ساده و خوانا کمک کند.