لغة R – المتغيرات

R Programming

يزودنا المتغير بتخزين مسمى يمكن لبرامجنا التعامل معه. يمكن للمتغير في R تخزين atomic vector أو مجموعة من الـ atomic vectors أو مجموعة من العديد من Robjects. يتكون اسم المتغير الصالح من أحرف وأرقام والنقطة أو التسطير السفلي underline . يبدأ اسم المتغير بحرف أو نقطة ولا يتبعها رقم.

تعيين قيمة المتغير Variable Assignment

يمكن تعيين قيم للمتغيرات باستخدام عامل التشغيل لليسار ولليمين ولليساوي. يمكن طباعة قيم المتغيرات باستخدام الدالة print() أو cat(). تقوم الدالة cat() بدمج عناصر متعددة في إخراج طباعة مستمر.

# Assignment using equal operator.
var.1 = c(0,1,2,3)           

# Assignment using leftward operator.
var.2 <- c("learn","R")   

# Assignment using rightward operator.   
c(TRUE,1) -> var.3           

print(var.1)
cat ("var.1 is ", var.1 ,"\n")
cat ("var.2 is ", var.2 ,"\n")
cat ("var.3 is ", var.3 ,"\n")

عندما نقوم بتنفيذ الكود أعلاه، فإنه ينتج النتيجة التالية –

[1] 0 1 2 3
var.1 is  0 1 2 3 
var.2 is  learn R 
var.3 is  1 1 

ملاحظة – يحتوي المتجه c(TRUE,1) على مزيج من الفئة المنطقية والرقمية. لذلك يتم إجبار الفئة المنطقية على فئة رقمية مما يجعل TRUE يساوي 1.

نوع البيانات للمتغير

في R، لا يتم الإعلان عن المتغير نفسه من أي نوع بيانات، بل يحصل على نوع بيانات الكائن R المخصص له. لذلك تسمى لغة R لغة مكتوبة ديناميكيًا، مما يعني أنه يمكننا تغيير نوع بيانات المتغير لنفس المتغير مرارًا وتكرارًا عند استخدامه في البرنامج.

var_x <- "Hello"
cat("The class of var_x is ",class(var_x),"\n")

var_x <- 34.5
cat("  Now the class of var_x is ",class(var_x),"\n")

var_x <- 27L
cat("   Next the class of var_x becomes ",class(var_x),"\n")

عندما نقوم بتنفيذ الكود أعلاه، فإنه ينتج النتيجة التالية –

The class of var_x is  character 
   Now the class of var_x is  numeric 
      Next the class of var_x becomes  integer

إيجاد المتغيرات

لمعرفة جميع المتغيرات المتوفرة حاليًا في مساحة العمل نستخدم الدالة ls(). يمكن أيضًا للدالة ls() استخدام الأنماط لمطابقة أسماء المتغيرات.

print(ls())

عندما نقوم بتنفيذ الكود أعلاه، فإنه ينتج النتيجة التالية –

[1] "my var"     "my_new_var" "my_var"     "var.1"      
[5] "var.2"      "var.3"      "var.name"   "var_name2."
[9] "var_x"      "varname" 

ملاحظة – إنه مخرج نموذجي يعتمد على المتغيرات المعلنة في بيئتك.

يمكن للدالة ls() استخدام الأنماط لمطابقة أسماء المتغيرات.

# List the variables starting with the pattern "var".
print(ls(pattern = "var"))   

عندما نقوم بتنفيذ الكود أعلاه، فإنه ينتج النتيجة التالية –

[1] "my var"     "my_new_var" "my_var"     "var.1"      
[5] "var.2"      "var.3"      "var.name"   "var_name2."
[9] "var_x"      "varname"   

المتغيرات التي تبدأ بـ dot(.) مخفية، ويمكن إدراجها باستخدام الوسيطة “all.names = TRUE” للدالة ls().

print(ls(all.name = TRUE))

عندما نقوم بتنفيذ الكود أعلاه، فإنه ينتج النتيجة التالية –

[1] ".cars"        ".Random.seed" ".var_name"    ".varname"     ".varname2"   
[6] "my var"       "my_new_var"   "my_var"       "var.1"        "var.2"        
[11]"var.3"        "var.name"     "var_name2."   "var_x" 

حذف المتغيرات

يمكن حذف المتغيرات باستخدام الدالة rm(). أدناه نحذف المتغير var.3. عند الطباعة يتم طرح قيمة الخطأ المتغير.

rm(var.3)
print(var.3)

عندما نقوم بتنفيذ الكود أعلاه، فإنه ينتج النتيجة التالية –

[1] "var.3"
Error in print(var.3) : object 'var.3' not found

يمكن حذف كافة المتغيرات باستخدام الدالة rm() و ls() معًا.

rm(list = ls())
print(ls())

عندما نقوم بتنفيذ الكود أعلاه، فإنه ينتج النتيجة التالية –

character(0)

Related posts

Apache Kafka نظرة عامة

تحليل البيانات الضخمة – متخصص علوم البيانات

Cassandra – نموذج البيانات