يزودنا المتغير بتخزين مسمى يمكن لبرامجنا التعامل معه. يمكن للمتغير في 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)