كيفية تصدير البيانات من R إلى CSV و Excel
⚡ ملخص ذكي
يشمل تصدير البيانات من R كتابة إطار بيانات إلى تنسيقات CSV وExcel وSPSS وSAS وSTATA وتنسيقات R الأصلية، ثم رفع الملف نفسه إلى Google Drive or Dropboxتتبع كل عملية تصدير نمطًا واحدًا: دالة، وإطار بيانات، ومسار وجهة.

كيفية تصدير البيانات من R
في هذا البرنامج التعليمي، سوف نتعلم كيفية تصدير البيانات من بيئة R إلى تنسيقات مختلفة.
لتصدير البيانات إلى القرص الصلب، تحتاج إلى مسار الملف وامتداده. أولاً، المسار هو الموقع الذي سيتم تخزين البيانات فيه. في هذا البرنامج التعليمي، ستشاهد كيفية تخزين البيانات على:
- القرص الصلب
- Google Drive
- Dropbox
ثانيًا، يمكن لبرنامج R كتابة البيانات بصيغ متعددة. يشرح هذا الدليل امتدادات الملفات الأساسية:
- CSV
- XLSX
- RDS
- SAS
- SPSS
- ستاتا
كل عملية تصدير تتبع نفس الشكل: استدعاء دالة واحدة، وإطار بيانات، ومسار وجهة.
تصدير إلى القرص الصلب
للبدء، يمكنك حفظ البيانات مباشرةً في دليل العمل. يقوم الكود التالي بطباعة مسار دليل العمل الخاص بك:
directory <- getwd() directory
الإخراج:
## [1] "/Users/15_Export_to_do"
ما لم تُحدد مسارًا كاملاً، فسيتم كتابة كل ملف في دليل العمل هذا. يختلف المسار الافتراضي باختلاف النظام، وعادةً ما يكون مجلد المستخدم الرئيسي. macOS ونظام لينكس ومجلد المستندات على Windowsلكن الدالة getwd() تُخبرك دائمًا بالقيمة الحالية. غيّرها باستخدام الدالة setwd()، أو ببساطة مرّر المسار الكامل إلى دالة الكتابة.
setwd("/Users/USERNAME/Downloads")
إنشاء إطار البيانات
أولاً، قم بإنشاء إطار بيانات صغير: متوسط استهلاك الوقود (mpg) واستهلاك الوقود (disp) مجمعة حسب نوع التروس من مجموعة بيانات mtcars.
library(dplyr) df <-mtcars %>% select(mpg, disp, gear) %>% group_by(gear) %>% summarize(mean_mpg = mean(mpg), mean_disp = mean(disp)) df
الإخراج:
## # A tibble: 3 x 3 ## gear mean_mpg mean_disp ## <dbl> <dbl> <dbl> ## 1 3 16.10667 326.3000 ## 2 4 24.53333 123.0167 ## 3 5 21.38000 202.4800
يحتوي الجدول على ثلاثة صفوف وثلاثة أعمدة. يمكنك إنشاء ملف CSV باستخدام الوظيفة write.csv في R.
كيفية تصدير DataFrame إلى ملف CSV في R
بناء الجملة الأساسي لـ write.csv في R لتصدير DataFrame إلى CSV في R:
write.csv(df, path) arguments -df: Dataset to save. Need to be the same name of the data frame in the environment. -path: A string. Set the destination path. Path + filename + extension i.e. "/Users/USERNAME/Downloads/mydata.csv" or the filename + extension if the folder is the same as the working directory
على سبيل المثال:
write.csv(df, "table_car.csv")
Code تفسير
- write.csv(df, “table_car.csv”): قم بإنشاء ملف CSV في القرص الصلب:
- df: اسم إطار البيانات في البيئة
- "table_car.csv": قم بتسمية الملف table_car وقم بتخزينه كملف csv
ملاحظات: تقوم الدالة write.csv2() بكتابة نفس الملف باستخدام الفاصلة المنقوطة كفاصل للحقول والفاصلة كعلامة عشرية، وهو ما يعتبر اصطلاحًا في معظم أنحاء أوروبا القارية.
write.csv2(df, "table_car.csv")
ملاحظاتلأغراض تعليمية فقط، أنشأنا دالةً باسم open_folder() لفتح مجلد الدليل نيابةً عنك. ما عليك سوى تشغيل الكود أدناه لمعرفة مكان ملف CSV. ستجد ملفًا باسم table_car.csv.
# Run this code to create the function open_folder <-function(dir){ if (.Platform['OS.type'] == "windows"){ shell.exec(dir) } else { system(paste(Sys.getenv("R_BROWSER"), dir)) } } # Call the function to open the folder open_folder(directory)
كيفية تصدير إطار بيانات إلى ملف Excel في لغة R
يُعدّ التصدير إلى Excel أمرًا بسيطًا على Windows وأكثر صعوبة بعض الشيء في macOSيستخدم كلا البرنامجين مكتبة xlsx، والفرق الوحيد يكمن في التثبيت، لأن xlsx تعتمد على Java. Java يجب أن يكون موجودًا على الجهاز قبل تحميل الحزمة.
Windows المستخدمين
On Windowsقم بتثبيت المكتبة مباشرةً باستخدام conda:
conda install -c r r-xlsx
بمجرد تثبيت المكتبة، يقوم الأمر write.xlsx() بإنشاء مصنف Excel جديد في دليل العمل:
library(xlsx) write.xlsx(df, "table_car.xlsx")
إذا كنت من مستخدمي نظام التشغيل Mac OS، فأنت بحاجة إلى اتباع الخطوات التالية:
- الخطوة 1: تثبيت أحدث إصدار من Java
- الخطوة 2: تثبيت المكتبة rJava
- الخطوة 3: تثبيت مكتبة xlsx
الخطوة 1) هل يمكن تحميل Java من مسؤول Oracle الموقع وتثبيته.
يمكنك العودة إلى Rstudio والتحقق من إصدار Java تم تثبيت.
system("java -version")
أي حديث Java يعمل الأمر. إذا لم يُظهر الأمر أي نتائج، Java لم يتم تثبيته، وسيفشل تحميل حزمة xlsx.
الخطوة 2) تحتاج إلى تثبيت rjava في R. نوصيك بتثبيت R وRstudio مع Anaconda. تدير Anaconda التبعيات بين المكتبات. بهذا المعنى، ستتعامل Anaconda مع تعقيدات rJava تركيب.
أولاً وقبل كل شيء، تحتاج إلى تحديث conda ثم تثبيت مكتبة. يمكنك نسخ ولصق السطرين التاليين من التعليمات البرمجية في الجهاز.
conda update conda conda install -c r r-rjava
بعد ذلك، افتح rjava في Rstudio
library(rJava)
الخطوة 3) وأخيرا، حان الوقت لتثبيت xlsx. مرة أخرى، يمكنك استخدام كوندا للقيام بذلك:
conda install -c r r-xlsx
تمامًا مثل مستخدمي Windows، يمكنك حفظ البيانات باستخدام الدالة write.xlsx()
library(xlsx)
الإخراج:
## Loading required package: xlsxjars
write.xlsx(df, "table_car.xlsx")
تصدير البيانات من R إلى برامج مختلفة
إن تصدير البيانات إلى برامج مختلفة أمر بسيط مثل استيرادها. توفر المكتبة "haven" طريقة ملائمة لتصدير البيانات إلى
- com.spss
- ساس
- كان
أولاً، قم باستيراد المكتبة. إذا لم يكن لديك "haven"، يمكنك الانتقال إلى اضغط هنا لتثبيته.
library(haven)
ملف SPSS
وفيما يلي الكود لتصدير البيانات إلى برنامج SPSS:
write_sav(df, "table_car.sav")
ملف SAS
وببساطة spss، يمكنك التصدير إلى sas
write_sas(df, "table_car.sas7bdat")
ملف STATA
وأخيرًا، تسمح مكتبة haven بكتابة ملف .dta.
write_dta(df, "table_car.dta")
كيفية تصدير البيانات إلى تنسيقات R الأصلية
إذا كنت ترغب في الاحتفاظ بالكائن داخل لغة R بدلاً من تمريره إلى برنامج آخر، فاستخدم أحد التنسيقين الأصليين. تقوم الدالة save() بكتابة كائن واحد أو أكثر من الكائنات المسماة في ملف بامتداد .RData.
save(df, file ='table_car.RData')
أما البديل فهو saveRDS()، الذي يخزن كائنًا واحدًا فقط ويسمح للقارئ باختيار اسمه عند العودة إليه:
# One object, name chosen at read time saveRDS(df, file = "table_car.rds") my_data <- readRDS("table_car.rds") # Several objects, original names restored save(df, directory, file = "workspace.RData") load("workspace.RData")
| المعايير | saveRDS() / readRDS() | حفظ() / تحميل() |
|---|---|---|
| عدد العناصر في كل ملف | واحد فقط | واحد أو كثير |
| اسم الكائن عند إعادة التحميل | أنت تختار ذلك | تمت استعادته كما تم حفظه |
| يستبدل البيئة | لا | نعم، بصمت |
| التمديد المعتاد | .rds | .RData |
يُفضّل استخدام دالة saveRDS() في البرامج النصية، لأن دالة load() قد تستبدل كائنًا موجودًا بنفس الاسم دون إشعار. كلا الصيغتين تحافظان على مستويات العوامل وترتيبها وخصائصها سليمة، وهو ما لا تستطيع صيغة CSV فعله.
يمكنك التحقق من الملفات التي تم إنشاؤها أعلاه في دليل العمل الحالي
التفاعل مع الخدمات السحابية
وأخيرا وليس آخرا، R مجهز بمكتبات رائعة للتفاعل مع خدمات الحوسبة السحابية. يتناول الجزء الأخير من هذا البرنامج التعليمي ملفات التصدير/الاستيراد من:
- Google Drive
- Dropbox
ملاحظاتيفترض هذا الجزء من البرنامج التعليمي أن لديك حسابًا لدى Google و Dropbox. إذا لم يكن الأمر كذلك، فيمكنك إنشاء واحد بسرعة لـ – Google Drive: https://accounts.google.com/SignUp?hl=en - Dropbox: https://www.dropbox.com/h
Google Drive
يجب عليك تثبيت مكتبة googledrive للوصول إلى الوظيفة التي تسمح بالتفاعل مع Google Drive.
المكتبة ليست متاحة بعد في أناكوندا. يمكنك تثبيته باستخدام الكود أدناه في وحدة التحكم.
install.packages("googledrive")
وقمت بفتح المكتبة.
library(googledrive)
بالنسبة لمستخدمي البرامج الأخرى غير conda، يُعد تثبيت المكتبة أمرًا سهلاً، حيث يمكنك استخدام الأمر install.packages('اسم الحزمة') مع وضع اسم الحزمة بين علامتي اقتباس داخل الأقواس. يقوم R بتثبيتها في الموقع الأول الذي تُرجعه الدالة .libPaths().
حمل الى Google Drive
لتحميل ملف إلى Google في محرك الأقراص، تحتاج إلى استخدام الدالة drive_upload().
في كل مرة تقوم فيها بإعادة تشغيل Rstudio، سيُطلب منك السماح بالوصول إلى tidyverse Google Drive.
بناء الجملة الأساسي لـdrive_upload() هو
drive_upload(file, path = NULL, name = NULL) arguments: - file: Full name of the file to upload (i.e., including the extension) - path: Location of the file- name: You can rename it as you wish. By default, it is the local name.
بعد تشغيل التعليمات البرمجية، تحتاج إلى تأكيد عدة أسئلة
drive_upload("table_car.csv", name = "table_car")
الإخراج:
## Local file: ## * table_car.csv ## uploaded into Drive file: ## * table_car: 1hwb57eT-9qSgDHt9CrVt5Ht7RHogQaMk ## with MIME type: ## * text/csv
اكتب 1 في وحدة التحكم لتأكيد الوصول
ثم يتم إعادة توجيهك إلى Google للسماح بالوصول إلى واجهة برمجة التطبيقات (API)، انقر فوق "السماح".
بمجرد اكتمال المصادقة، يمكنك الخروج من المتصفح.
في وحدة تحكم RStudio، يمكنك رؤية ملخص الخطوة التي تم إنجازها. Google تم تحميل الملف بنجاح الموجود محلياً على محرك الأقراص. Google تم تخصيص معرف لكل ملف في محرك الأقراص.
يمكنك رؤية هذا الملف في Google Spreadsheet.
drive_browse("table_car")
الإخراج:
سيتم توجيهك إلى Google Spreadsheet
الاستيراد من Google Drive
يُعدّ التنزيل باستخدام مُعرّف الملف الطريقة الموثوقة. إذا كنت تعرف اسم الملف، فابحث عن مُعرّفه أولاً:
ملاحظات: اعتمادًا على اتصالك بالإنترنت وحجم Drive الخاص بك، يستغرق الأمر بعض الوقت.
x <-drive_get("table_car")
as_id(x)
لقد قمت بتخزين المعرف في المتغير x. تسمح الدالة drive_download() بتنزيل ملف من Google Drive.
بناء الجملة الأساسي هو:
drive_download(file, path = NULL, overwrite = FALSE) arguments: - file: Name or id of the file to download -path: Location to download the file. By default, it is downloaded to the working directory and the name as in Google Drive -overwrite = FALSE: If the file already exists, don't overwrite it. If set to TRUE, the old file is erased and replaced by the new one.
يمكنك أخيرًا تنزيل الملف:
download_google <- drive_download(as_id(x), overwrite = TRUE)
Code تفسير
- Drive_download(): وظيفة تنزيل ملف من Google Drive
- as_id(x): استخدم المعرف لتصفح الملف فيه Google Drive
- الكتابة فوق = TRUE: في حالة وجود الملف، قم بالكتابة فوقه، وإلا سيتم إيقاف التنفيذ لرؤية اسم الملف محليًا، يمكنك استخدام:
الإخراج:
يُخزَّن الملف في مجلد العمل الخاص بك. تذكّر إضافة امتداد الملف قبل فتحه في برنامج R. يمكنك إنشاء الاسم الكامل باستخدام الدالة paste() (مثلاً: table_car.csv).
google_file <-download_google$local_path google_file path <-paste(google_file, ".csv", sep = "") google_table_car <-read.csv(path) google_table_car
الإخراج:
## X gear mean_mpg mean_disp ## 1 1 3 16.10667 326.3000 ## 2 2 4 24.53333 123.0167 ## 3 3 5 21.38000 202.4800
وأخيرًا، يمكنك إزالة الملف من جهازك Google القيادة.
## remove file
drive_find("table_car") %>%drive_rm()
الإخراج:
تتم معالجة الحذف بشكل غير متزامن بواسطة Googleلذا قد يستغرق الملف بعض الوقت ليختفي.
تصدير الى Dropbox
يتفاعل مع R Dropbox عبر مكتبة rdrop2. المكتبة غير متوفرة في أناكوندا أيضًا. يمكنك تثبيته عبر وحدة التحكم
install.packages('rdrop2')
library(rdrop2)
أنت تمنح حق الوصول المؤقت إلى Dropbox باستخدام بيانات اعتمادك. بمجرد المصادقة، يمكن لبرنامج R إنشاء الملفات وإزالتها وتحميلها وتنزيلها في حسابك. Dropbox.
بادئ ذي بدء، تحتاج إلى منح حق الوصول إلى حسابك. يتم تخزين بيانات الاعتماد مؤقتًا أثناء الجلسة بأكملها.
drop_auth()
سيتم توجيهك إلى Dropbox لتأكيد المصادقة.
سوف تحصل على صفحة التأكيد. يمكنك إغلاقه والعودة إلى R
يمكنك إنشاء مجلد باستخدام الوظيفة drop_create().
- drop_create('my_first_drop'): قم بإنشاء مجلد في الفرع الأول من Dropbox
- drop_create('First_branch/my_first_drop'): قم بإنشاء مجلد داخل مجلد First_branch الموجود.
drop_create('my_first_drop')
الإخراج:
في قطرةBox
لتحميل ملف .csv إلى ملفك Dropboxاستخدم الدالة drop_upload().
بناء الجملة الأساسي:
drop_upload(file, path = NULL, mode = "overwrite") arguments: - file: local path - path: Path on Dropbox - mode = "overwrite": By default, overwrite an existing file. If set to `add`, the upload is not completed.
drop_upload('table_car.csv', path = "my_first_drop")
الإخراج:
عند السقوطBox
يمكنك قراءة ملف CSV من Dropbox باستخدام الدالة drop_read_csv()
dropbox_table_car <-drop_read_csv("my_first_drop/table_car.csv")
dropbox_table_car
الإخراج:
## X gear mean_mpg mean_disp ## 1 1 3 16.10667 326.3000 ## 2 2 4 24.53333 123.0167 ## 3 3 5 21.38000 202.4800
عند الانتهاء من استخدام الملف والرغبة في حذفه. تحتاج إلى كتابة مسار الملف في الدالة drop_delete()
drop_delete('my_first_drop/table_car.csv')
الإخراج:
من الممكن أيضًا حذف مجلد
drop_delete('my_first_drop')
الإخراج:
تصدير البيانات من R: مرجع الدوال
جميع وظائف التصدير المستخدمة في هذا البرنامج التعليمي مدرجة أدناه:
| المكتبة | الهدف | الوظيفة |
|---|---|---|
| قاعدة | تصدير ملف CSV | write.csv() |
| XLSX | تصدير التفوق | الكتابة.xlsx() |
| ملاذ | تصدير برنامج spss | write_sav() |
| ملاذ | تصدير ساس | write_sas() |
| ملاذ | تصدير البيانات | write_dta() |
| قاعدة | تصدير كائنات R | حفظ() / حفظ RDS() |
| جوجل درايف | تحميل Google Drive | Drive_upload() |
| جوجل درايف | فتح في Google Drive | Drive_browse() |
| جوجل درايف | استرجاع معرف الملف | Drive_get(as_id()) |
| جوجل درايف | تحميل من Google Drive | drive_download() |
| جوجل درايف | إزالة الملف من Google Drive | Drive_rm() |
| rdrop 2 | التحقّق من المُستخدم | drop_auth() |
| rdrop 2 | قم بإنشاء مجلد | drop_create() |
| rdrop 2 | حمل الى Dropbox | drop_upload() |
| rdrop 2 | قراءة ملف CSV من Dropbox | drop_read_csv() |
| rdrop 2 | احذف الملف من Dropbox | drop_delete() |













