آر

آموزش فایل های CSV در زبان برنامه نویسی R

اساطیر زبان

در زبان برنامه نویسی R؛ می توانیم داده ها را از فایل هایی بخوانیم که در خارج از محیط R ذخیره شده اند. ما همچنین می توانیم داده ها را درون فایل هایی بنویسیم که توسط سیستم عامل ذخیره خواهد شد و در دسترس نیز قرار خواهد گرفت. R می تواند فایل هایی با فرمت های متفاوت مانند csv، excel، xml و غیره را بخواند و بنویسد.

در این فصل، یاد می گیریم که داده ها را از فایل csv بخوانیم و سپس داده ها را درون یک فایل csv بنویسیم. فایل مورد نظر باید در آن دایرکتوری که در حال کار می باشد، موجود باشد؛ به این تریب آر می تواند آن فایل را بخواند. البته ما می توانیم دایرکتوری مربوط به خودمان را تنظیم کنیم و فایل ها را از روی آن بخوانیم.

دریافت و تنظیم دایرکتوری در حال کار

شما می توانید با استفاده از تابع ()getwd بررسی کنید که فضای کاری R به کدام دایرکتوری اشاره دارد. شما می توانید همچنین با استفاده از تابع ()setwd می توانید یک دایرکتوری کار جدید تنظیم کنید.

# Get and print current working directory.

print(getwd())

# Set current working directory.

setwd(“/web/com”)

# Get and print current working directory.

print(getwd())

زمانی که کد بالا را اجرا می کنیم؛ نتیجه زیر به دست می آید:

[۱] “/web/com/1441086124_2016”

[۱] “/web/com”

این نتیجه بستگی به سیستم عامل OS شما و دایرکتوری فعلی دارد که در حال کار با آن هستید.

ورودی به عنوان فایل CSV

این فایل csv یک فایل متنی است که در آن مقادیر در موجود در ستون ها با استفاده از کاما، از هم جدا شده اند. اجازه دهید داده های زیر را در نظر بگیریم که تحت نام input.csv موجود می باشد.

شما می توانید این فایل را با استفاده از نوتپد ویندوز ایجاد کنید؛ همچنین می توانید این داده ها را کپی و پیست کنید. با استفاده از گزینه () saveAsAll files  در نوتپد؛ فایل را به شکل input.csv ذخیره سازی کنید.

id,name,salary,start_date,dept

۱,Rick,623.3,2012-01-01,IT

۲,Dan,515.2,2013-09-23,Operations

۳,Michelle,611,2014-11-15,IT

۴,Ryan,729,2014-05-11,HR

۵,Gary,843.25,2015-03-27,Finance

۶,Nina,578,2013-05-21,IT

۷,Simon,632.8,2013-07-30,Operations

۸,Guru,722.5,2014-06-17,Finance

مطالعه یک فایل CSV

در ادامه مثال ساده ای از تابع ()read.csv را برای خواندن یک فایل CSV مشاهده می کنید که در دایرکتوری کار فعلی شما در دسترس است.

data <- read.csv(“input.csv”)

print(data)

زمانی که کد بالا را اجرا کنیم؛ نتیجه زیر را به دست می آوریم:

id, name, salary, start_date, dept

۱ ۱ Rick 623.30 2012-01-01 IT

۲ ۲ Dan 515.20 2013-09-23 Operations

۳ ۳ Michelle 611.00 2014-11-15 IT

۴ ۴ Ryan 729.00 2014-05-11 HR

۵ NA Gary 843.25 2015-03-27 Finance

۶ ۶ Nina 578.00 2013-05-21 IT

۷ ۷ Simon 632.80 2013-07-30 Operations

۸ ۸ Guru 722.50 2014-06-17 Finance

تجزیه و تحلیل فایل CSV

به صورت پیش فرض، تابع ()read.csv خروجی را به عنوان یک فریم دیتا ایجاد می کند. این امر می تواند به آسانی به شکل زیر بررسی شود. همچنین ما می توانید تعداد ستون ها و ردیف ها را بررسی کنیم.

data <- read.csv(“input.csv”)

print(is.data.frame(data))

print(ncol(data))

print(nrow(data))

زمانی که کد بالا را اجرا می کنیم؛ نتیجه زیر به دست می آید:

[۱] TRUE

[۱] ۵

[۱] ۸

زمانی که این داده را در فریم دیتا می خوانیم؛ همان طور که در بخش قبلی شرح دادیم؛ می توانیم تمام توابع اجرا شدنی روی فریم دیتاها را اعمال کنیم.

دریافت ماکزیمم حقوق

# Create a data frame.

data <- read.csv(“input.csv”)

# Get the max salary from data frame.

sal <- max(data$salary)

print(sal)

زمانی که کد بالا را اجرا کنیم؛ نتایج زیر به دست می آید:

[۱] ۸۴۳٫۲۵

دریافت اطلاعات شخصی با ماکزیمم حقوق

ما می توانیم ردیف هایی را معیار فیلتر خاصی را برآورد می کنند، مشابه SQL ، واکشی و مکان یابی کنیم.

# Create a data frame.

data <- read.csv(“input.csv”)

# Get the max salary from data frame.

sal <- max(data$salary)

# Get the person detail having max salary.

retval <- subset(data, salary == max(salary))

print(retval)

زمانی که کد بالا را اجرا می کنیم؛ نتایج زیر را به دست می آوریم:

id name salary start_date dept

۵ NA Gary 843.25 2015-03-27 Finance

دستیابی به افرادی که در دپارتمان IT کار می کنند.

# Create a data frame.

data <- read.csv(“input.csv”)

retval <- subset( data, dept == “IT”)

print(retval)

زمانی که کد بالا را اجرا می کنیم؛ نتیجه زیر به دست می آید:

id name salary start_date dept

۱ ۱ Rick 623.3 2012-01-01 IT

۳ ۳ Michelle 611.0 2014-11-15 IT

۶ ۶ Nina 578.0 2013-05-21 IT

دستیابی به افرادی که در دپارتمان IT کار می کنند و حقوق آنها بیشتر از ۶۰۰ می باشد.

# Create a data frame.

data <- read.csv(“input.csv”)

info <- subset(data, salary > 600 & dept == “IT”)

print(info)

زمانی که کد بالا اجرا بشود,؛ نتایج زیر به دست می آید:

id name salary start_date dept

۱ ۱ Rick 623.3 2012-01-01 IT

۳ ۳ Michelle 611.0 2014-11-15 IT

دستیابی به افرادی که در سال ۲۰۱۴ به دپارتمان ملحق شده اند.

# Create a data frame.

data <- read.csv(“input.csv”)

retval <- subset(data, as.Date(start_date) > as.Date(“2014-01-01”))

print(retval)

زمانی که کد بالا را اجرا می کنیم؛ نتایج زیر به دست می آید:

id name salary start_date dept

۳ ۳ Michelle 611.00 2014-11-15 IT

۴ ۴ Ryan 729.00 2014-05-11 HR

۵ NA Gary 843.25 2015-03-27 Finance

۸ ۸ Guru 722.50 2014-06-17 Finance

نوشتن در یک فایل CSV

آر می تواند فایل csv را از فریم دیتای موجود ایجاد کند. تابع ()write.csv برای ایجاد فایل csv استفاده شده است. این فایل در دایرکتوری در حال کار ایجاد می شود.

# Create a data frame.

data <- read.csv(“input.csv”)

retval <- subset(data, as.Date(start_date) > as.Date(“2014-01-01”))

# Write filtered data into a new file.

write.csv(retval,”output.csv”)

newdata <- read.csv(“output.csv”)

print(newdata)

زمانی که کد بالا را اجرا می کنیم، نتیجه زیر را به دست می آوریم:

X id name salary start_date dept

۱ ۳ ۳ Michelle 611.00 2014-11-15 IT

۲ ۴ ۴ Ryan 729.00 2014-05-11 HR

۳ ۵ NA Gary 843.25 2015-03-27 Finance

۴ ۸ ۸ Guru 722.50 2014-06-17 Finance

در این جا ستون X از مجموعه داده های جدیدتر می آید. این ستون را می توان با استفاده از پارامترهای اضافی در هنگام نوشتن فایل؛ حذف کرد.

# Create a data frame.

data <- read.csv(“input.csv”)

retval <- subset(data, as.Date(start_date) > as.Date(“2014-01-01”))

# Write filtered data into a new file.

write.csv(retval,”output.csv”, row.names = FALSE)

newdata <- read.csv(“output.csv”)

print(newdata)

زمانی که کد بالا را اجرا می کنیم؛ نتیجه زیر را به دست می آوریم:

id name salary start_date dept

۱ ۳ Michelle 611.00 2014-11-15 IT

۲ ۴ Ryan 729.00 2014-05-11 HR

۳ NA Gary 843.25 2015-03-27 Finance

۴ ۸ Guru 722.50 2014-06-17 Finance

تفاوت پک های حرفه ای ما با آموزشهای رایگان: بطور خلاصه از زمین تا آسمان! 1-پکها، جدیدترین نسخه نرم افزارها را آموزش می دهند با قابلیت های بسیار بیشتر. 2-پکها توسط متخصص آن نرم افزار، به صورت کاملا پروژه محور و با حل چالش هایی که در مسیر کار عملی و حرفه ای با آن روبرو می شوید تهیه شده اند و بعد از استفاده، کاملا برای بازار کار آماده اید! 3- متد این پکها کاملا کار شده و تا ماهها، در ذهن تان ماندگارند و یادگیری بسیار سریعتر و کاملتری خواهید داشت. آموزشهای رایگان فقط دستورات نرم افزارها را (آنهم ناقص) بیان می کنند و تازه برای ورود به بازار باید ماهها تجربه عملی هم کسب کنید !!

turned_in

چرب زبان

با این اپلیکیشن ساده، هر زبانی رو فقط با 5 دقیقه در روز، توی 80 روز مثل بلبل حرف بزن! بهترین متد روز، تقویت حافظه، آموزش تصویری. یادگیری زبان کلید یادگیری هر مهارتی در قرن 21 !


حتما بخوانید!

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.

فهرست