استخدام لغة R في تحليل البيانات
تثبيت البرامج
- برمجية R
- إذا كنت تستخدم نظام Windows، يرجى الانتقال إلى الصفحة الرئيسية للموقع والنقر على "تنزيل R لنظام Windows"، ثم انقر على "تثبيت R للمرة الأولى"، وأخيرًا انقر على "تنزيل R 4.0.4 لنظام Windows"، بعد تنزيل البرنامج، يرجى تثبيته بنفسك.
- برمجية R تعمل فقط في الخلفية ولا تحتوي على واجهة رسومية.
- RStudio
- انقر مباشرة على الزر الأزرق "تنزيل"، أو قم باختيار إصدار آخر من البرنامج من أسفل الصفحة. بعد تنزيل البرنامج، يرجى تثبيته بنفسك.
مصادر التعلم
موارد عبر الإنترنت (موصى بها)
الكتب
أنواع البيانات الأساسية
أنواع البيانات في لغة R تشمل بشكل أساسي ما يلي:
- الأعداد (Numerics)
- الأعداد الصحيحة (Integers)
- الأعداد المركبة (Complex)
- المنطقية (Logical)
- النصية (Characters)
الأعداد (Numerics)
الأعداد هي أنواع البيانات الأساسية في لغة R. عندما نسند قيمة عددية إلى متغير، سيكون نوع المتغير هو الأعداد:
> x = 11.15 # قم بتعيين القيمة 11.15 إلى المتغير x
> x # اعرض قيمة المتغير x
[1] 11.15
> class(x) # اعرض نوع المتغير x
[1] "numeric"
يمكن أن تكون الأعداد الصحيحة أو العشرية من نوع الأعداد. ولكن إذا تم إنشاء المتغير بهذه الطريقة، فإن المتغيرات الصحيحة ستكون أيضًا من نوع الأعداد العشرية.
الأعداد الصحيحة (Integers)
لإنشاء متغيرات من نوع الأعداد الصحيحة، يجب استخدام وظيفة as.integer
:
> y = as.integer(3)
> y # اعرض قيمة المتغير y
[1] 3
> class(y) # اعرض نوع المتغير y
[1] "integer"
> is.integer(y) # هل المتغير y من نوع الأعداد الصحيحة؟
[1] TRUE
بالإضافة إلى استخدام وظيفة is.integer
، يمكنك أيضًا إضافة اللاحقة L
لتحقيق نفس الغرض:
إذا كنت بحاجة لتقريب عدد عشري إلى أقرب عدد صحيح، يمكنك استخدام وظيفة as.integer
:
يمكن أيضًا تحليل سلاسل نصية وتقريبها إلى أقرب عدد صحيح:
لكن إذا تم تحليل سلسلة نصية لا تحتوي على أرقام، ستظهر رسالة خطأ:
> as.integer("Joe") # قم بتحليل سلسلة نصية غير عددية
[1] NA
Warning message:
NAs introduced by coercion
لغة R تحتكم إلى نفس مبدأ لغة C عندما ترتبط الأعداد الصحيحة بقيم 1
و0
المنطقية:
> as.integer(TRUE) #
```markdown
```r
> z = 1 + 2i # Create a complex variable z
> z # Output the value of z
[1] 1+2i
> class(z) # Output the type of z
[1] "complex"
If we simply take the square root of -1
, it will result in an error:
But taking the square root of the complex number -1+0i
is not a problem:
You can also perform the operation using type coercion:
Logical
Logical values are typically generated by comparing variables:
> x = 1; y = 2 # Sample variables
> z = x > y # Is x greater than y?
> z # Output a logical variable
[1] FALSE
> class(z) # Output the type of z
[1] "logical"
Basic logical operations include &
(and), |
(or), and !
(not):
> u = TRUE; v = FALSE
> u & v # Perform "and" operation on u and v
[1] FALSE
> u | v # Perform "or" operation on u and v
[1] TRUE
> !u # Perform "not" operation on u
[1] FALSE
Character
Character values can be obtained using the as.character
function:
> x = as.character(3.14)
> x # Output the string
[1] "3.14"
> class(x) # Output the type of x
[1] "character"
To concatenate two character variables, you can use the paste
function:
Similar to C syntax, you can use format strings for improved readability using the sprintf
function:
To extract a substring from a string, you can use the substr
function (in the example, characters between the 3rd and 12th positions are extracted):
If you want to replace the first occurrence of a character with another character, you can use the sub
function (in the example, "little" is replaced with "big"):
Vectors
Vectors in R
A vector is an array that contains elements of the same type, and the members within a vector are referred to as components.
Here's an example of a vector (containing three numeric variables: 2
, 3
, and 5
):
Vectors can also consist entirely of logical values:
Character vectors are also possible:
To find out how many members are in a vector, you can use the length
function:
Merging Vectors
To merge two vectors, you can use the c
function:
> n = c(2, 3, 5)
> s = c("aa", "bb", "cc", "dd", "ee")
> c(n, s)
[1] "2" "3" "5" "aa" "bb" "cc" "dd" "ee"
Note that in the example above, when merging two vectors of different data types, the resulting vector will be of a type that is more permissive (i.e., it will convert from a stricter type to a looser type, such as converting numeric to character).
Basic Vector Operations
Let's assume two vectors a
and b
:
Here are some basic vector operations:
> a + b
[1] 2 5 9 15
> a - b
[1] 0 1 1 -1
> 5 * a
[1] 5 15 25 35
> a * b
[1] 1 6 20 56
> a / b
[1] 1.000 1.500 1.250 0.875
If the two vectors being added have different numbers of members, the result will be of a length determined by the longer vector:
Retrieving from Vectors
To extract members from a vector, you can use indexing within square brackets [ ]
, like [position]
:
> s = c("aa", "bb", "cc", "dd", "ee")
> s[3] # Retrieve the value of the third member and output it
[1] "cc"
If you precede the index with a negative sign, such as [-3]
, it means you want to extract all members except the third one:
If the index is out of the vector's length, it will result in an error:
[Updating...]
تمت ترجمة هذه المشاركة باستخدام ChatGPT، يرجى تزويدنا بتعليقاتكم إذا كانت هناك أي حذف أو إهمال.