برنامه‌نویسی به زبان R

برنامه‌نویسی به زبان R

دوستان عزیز جهت انجام پروژه‌های آماری و برنامه‌نویسی پایان‌نامه می‌توانید با آدرس الکترونیکی rprogramming.iran@gmail.com تماس حاصل نمائید.
برنامه‌نویسی به زبان R

برنامه‌نویسی به زبان R

دوستان عزیز جهت انجام پروژه‌های آماری و برنامه‌نویسی پایان‌نامه می‌توانید با آدرس الکترونیکی rprogramming.iran@gmail.com تماس حاصل نمائید.

انتخاب ستونی از چارچوب داده‌ها با توجه به موقعیت آن ستون

فرض کنید که می‌خواهیم ستون‌هایی را از چارچوب داده‌ها با توجه به موقعیتشان انتخاب کنیم.

اگر بخواهیم از چارچوب داده‌ای (مثلاً به اسم dfrm) یک ستون را انتخاب کنیم می‌توان از دستور:

[[dfrm[[n

استفاده کرد. همچنین برای این منظور می‌توان از دستور

[dfrm[n

فرق دستور اول و دوم در این است که خروجی دستور اول به صورت سطری است و ستون n ام را به صورت پشت سر هم نمایش می‌دهد. اما در دستور دوم همانند شکل چارچوب داده‌ها، به‌صورت ستونی نمایش می‌دهد.

برای انتخاب چند ستون از چارچوب داده‌ها، مانند دستور دوم عمل می‌کنیم ([dfrm[n)

 با این تفاوت که به‌جای شماره ستون n شماره ستون‌های مورد نظر را به‌صورت برداری وارد می‌کنیم. فرض کنید ستون‌های مورد نظر n2، n1 و...nk باشند. در این صورت دستور انتخاب این ستون‌ها به‌صورت:

[(dfrm[c(n1,n2,…,nk

خواهد بود.

همچنین انتخاب ستون‌ها را می‌توان به طریق ماتریسی نیز از انتخاب کرد. مثلاً برای انتخاب یک ستون از dfrm از دستور:

[dfrm[,n

و برای انتخاب چند ستون از dfrm از دستور:

[(dfrm[c(n1,n2,…,nk

استفاده می‌کنیم.

مقدار دهی اولیه یک چارچوب داده با مجموعه‌ای از داده‌های ستونی

فرض کنید که داده‌های مورد نظر ستونی است. قصد داریم این داده‌ها را به یک چارچوب داده (data frame) تبدیل کنیم. اگر بخواهیم این چارچوب داده را از چند ستون و یا عامل بسازیم از دستور data.frame استفاده می‌کنیم. به‌طور مثال اگر سه بردار با نام‌های v1، v2 و v3 و عوامل f1 و f2 را داشته باشیم و بخواهیم تحت نام dfm این بردارها و عوامل را ذخیره کنیم خواهیم داشت:

dfm<-data.frame(v1,v2,v3,f1,f2)

اما اگر بخواهیم این چارچوب داده را از چند ستون و یا عامل موجود در یک لیست (list) بسازیم از دستور as.data.frame استفاده می‌کنیم. به‌طور مثال اگر لیستی با عنوان list.of.vector داشته باشیم و بخواهیم تحت نام dfm بردارها و عوامل را ذخیره کنیم خواهیم داشت:

dfm<-as.data.frame(list.of.vector)

 

محاسبه آماره‌های پایه‌ای

کافی است بعد از وارد کردن داده‌ها به صورت برداری مثلاً:
X<- c(1,2,4,7,1)
Y<- log(X)
Z<-c(1,2,NA)
برای محاسبه میانگین، مد، واریانس، انحراف استاندارد، کواریانس و همبستگی به ترتیب از دستورهای 
mean(x), mode(x), var(x), sd(x), cov(x,y)
استفاده می‌کنیم. 
در صورتی که مجموعه داده‌ها حاوی مقادیر گمشده یا NA باشد، در محاسبات فوق R مقدار NA را برمی‌گرداند. در صورتی که نخواهیم این مقادیر در محاسبات لحاظ شوند، داخل آرگومان توابع فوق دستور na.rm=TRUE می‌نویسیم. مثلاً:
mean(Z,na.rm=TRUE)
این دستور باعث می شود که R در محاسباتش مقادیر گمشده را لحاظ نکند.

ساخت و مقدار دهی بردار

یکی از راه‌های ساخت بردار با توجه به مقادیر معلوم آن، استفاده از عملگر (...)c است که داخل پرانتز به جای سه نقطه، مقادیر مورد نظر را نوشته و هر مقدار را با، از هم جدا می‌کنیم. مثلاً:
c(1,2,6,7)
یا
c(TRUE,FALSE,FALSE)
یا
c("everyone")
توجه به این نکته ضروری است که در مقداردهی یک بردار، مقادیر وارد شده باید همگی از یک نوع باشند مثلاً اگر بنویسیم:
c(1,"A")
هر دو مقدار را از نوع متن در نظر می‌گیرد.
همچنین می‌توان برای بدست آوردن مقدار متغیر بردارها از دستور mode استفاده کرد. مثلاً:
mode("A")

خواندن داده‌ها در R

برای خواندن داده‌ها، بسته به نوع فایلی که داده‌ها در آن ذخیره شده است به روش‌های زیر عمل می‌کنیم:
١) فایل‌ داده‌ها با فرمت متنی یا فایل txt:
فرمت کلی (البته با در نظر گرفتن برخی فیلدهای مربوط به این دستور) به قرار ذیل است:
 
read.table("آدرس و نام مجموعه داده ",header=True,sep=","
,stringsAsFactor=True, na.string ="!")
در توضیح دستور فوق باید گفت که در قسمت آدرس باید آدرس مجموعه داده و فرمت آن را مشخص کرد که در اینجا به فرمت txt است.
اگر مجموعه داده، حاوی نام برای مجموعه داده است، در این صورت بخش دوم به صورت header =TRUE در نظر گرفته می‌شود.
اگر در مجموعه داده فوق، داده‌ها با کاراکتری خاص از هم جدا شده باشند، مثلاً با کاراکتر, آنگاه مشخص می‌کنیم که کاراکتر جدا کننده داده‌ها از هم همان , است و بنابراین ","=sep است.
در صورتی که بخواهیم متغیرهای متنی را به صورت عوامل در نظر بگیریم، باید stringAsFactor را TRUE در نظر گرفت.
در صورتی که داده‌های گمشده با کاراکتری خاص در مجموعه داده مشخص شده باشند، مثلاً با علامت !، مشخص می‌کنیم که  "!"= na.string .
به طور مثال اگر فایل متنی به صورت a.txt داشته باشیم و آدرس آن به صورت 
C:/Users/Ali/Desktop باشد، برای خواندن دستور زیر را می نویسیم:
read.table("C:/Users/Ali/Desktop/a.txt",header=True,sep=","
,stringsAsFactor=True, na.string ="!")
را تایپ و اجرا می‌کنیم.
٢) فایل مجموعه داده‌ها با مقادیر جدا شده توسط کاما یا فایل csv:
این فرمت، رایج ترین فرمت مجموعه داده است و با اغلب پکیج‌های آماری و برنامه‌های مدیریت داده و صفحات گسترده چون excel، سازگار است.
در این مجموعه داده هر خط نمایانگر یک سطر از داده هاست که این سطر حاوی داده‌های گسترده و جدا شده با کاما است.  فراخوانی داده های به این فرمت مانند فرمت متن است.
برای فایل Excel می توان ابتدا Sheet های موجود در فایل Excel که مورد نیاز نیستند را حذف کرده سپس این فایل را با فرمت csv از بخش Save As، File کنیم.
حال مانند فایل متن دستور مشابه را اجرا می کنیم البته با این تفاوت که به جای a.txt باید نام فایل مورد نظر و پسوند فایل که در اینجا csv است را نوشته و همچنین ابتدای دستور بجای read.table می‌نویسیم read.csv و دستور را اجرا می‌کنیم.