با اشتیاق برای داده های “بزرگ” ، ابزارهای تجزیه و تحلیل محبوبیت پیدا کرده اند. یکی از این ابزارها زبان برنامه نویسی است R. در این راهنما ، نحوه استخراج داده ها از پرونده های متنی ، پرونده های CSV و پایگاه داده را نشان می دهم. سپس نحوه ارسال این داده ها به یک وب سرور را نشان خواهم داد.
شاید تعجب کنید ، آیا لازم است دوباره زبان جدیدی یاد بگیرم؟ جواب منفی است! تنها چیزی که باید بدانید چند دستور است.
برنامه نویسان از زمینه های مختلف که در برنامه های وب با زبان های مختلف برنامه نویسی کار می کنند می توانند داده ها را به R وارد کرده و پس از پردازش ، آنها را به قالب مورد نیاز خود صادر کنند.
توجه: اگر با R آشنایی ندارید ، مقاله SitePoint را در مورد نحوه نصب R و RStudio توصیه می کنم. این دستورات اساسی در R و مقدمه ای کلی بر زبان را فراهم می کند. این پست شامل دستوراتی است که می توانند بدون استفاده از RStudio IDE در ترمینال R اجرا شوند. با این حال ، ممکن است مدیریت مبتنی بر مجموعه داده های بزرگ در یک ترمینال برای مبتدیان دشوار باشد ، بنابراین پیشنهاد می کنم از RStudio برای یک تجربه غنی استفاده کنید. در RStudio می توانید همین دستورات را در کادر Console اجرا کنید.
مدیریت پرونده های متنی
با استفاده از اندکی اصلاح شده ، یک فایل متنی موجود در دستگاه محلی شما قابل خواندن است read.table
فرمان دادن از آنجا که برای خواندن جداول طراحی شده است ، می توانید جدا کننده را روی یک رشته خالی تنظیم کنید (""
) برای خواندن یک فایل متن به خط:
file_contents = read.table("<path_to_file>", sep = "")
توجه: در جایی که براکت های زاویه دار مانند را مشاهده می کنید <path_to_file>
، شماره لازم ، شناسه و غیره را بدون براکت وارد کنید.
مسیر رسیدن به پرونده ممکن است مسیر نسبی پرونده باشد. اگر طول ردیف های شما نابرابر است ، باید تنظیم کنید fill = TRUE
همچنین. خروجی این دستور a است قاب داده در R.
اگر پرونده شما بسیار بزرگ است و نمی توان آن را با یکبار خواندن مطالعه کرد ، می توانید با استفاده از skip
و nrow
گزینه ها. به عنوان مثال ، برای خواندن خطوط 6-10 در پرونده خود ، دستورات زیر را اجرا کنید:
connection <- file("<path_to_file>")
lines6_10 = read.table(connection, skip=5, nrow=5)
رسیدگی به پرونده های CSV
آ CSV (مقادیر جدا شده با ویرگول) پرونده ای است که به معنای واقعی کلمه ، حاوی مقادیری است که با ویرگول از هم جدا شده اند. با استفاده از. می توانید یک فایل CSV را بخوانید read.csv
دستور:
file_contents = read.csv("<path_to_file>")
آ header
گزینه بیان می کند که آیا فایل CSV حاوی عنوان ستون است. تنظیم شده است TRUE
به صورت پیش فرض. (این را می توان هنگام خواندن پرونده های متنی نیز مشخص کرد.) در صورت وجود ستون های نابرابر در ردیف های مختلف ، باید تنظیم کنید fill
به TRUE
همچنین.
برای پرونده های بزرگ ، می توانید از سطرها به روشی مشابه رد شوید:
connection <- file("<path_to_file>")
lines6_10 = read.csv(connection, skip=5, nrow=5)
با استفاده از پایگاه داده MySQL
برای ایجاد اتصالات پایگاه داده ، به جداگانه نیاز دارید RMySQL
کتابخانه با استفاده از دستور زیر قابل نصب است:
install.packages('RMySQL')
پس از نصب ، باید با اجرای موارد زیر آن را فعال کنید:
library('RMySQL')
با فرض اینکه پایگاه داده شما در حال اجرا است ، اکنون می توانید درخواست های MySQL را پس از ایجاد اتصال ایجاد کنید:
con <- dbConnect(MySQL(),
user="root", password="root",
dbname="nsso", host="localhost", port=8889)
اگر MySQL را از طریق MAMP در Mac اجرا می کنید ، باید a را مشخص کنید unix.socket
:
con <- dbConnect(..., unix.socket = "/Applications/MAMP/tmp/mysql/mysql.sock")
برای ایجاد یک پرس و جو در MySQL ، ابتدا باید کوئری را اجرا کنید و سپس داده ها را در یک قاب داده ذخیره کنید:
rs <- dbSendQuery(con, "SELECT * FROM my_table;") # Make sure you run a LIMIT if your query is too large
data <- fetch(rs, n = -1)
پس از اتمام درخواست های خود ، می توانید اتصال خود را از طریق قطع کنید dbDisconnect
دستور:
dbDisconnect(con)
اطلاعات را در وب بخوانید
اگر منبع داده شما در وب باشد چه می کنید؟ چگونه پرونده های آنلاین را می خوانید؟ در R ، این کار به سادگی با تغییر مسیر پرونده ای که در دستور read مشخص کرده اید ، انجام می شود. شما باید از url
دستور را انتخاب کنید و آدرس URL را در read.csv
فرمان دادن برای مثال:
file_contents = read.csv(url("<file_URL>"))
برای یک پایگاه داده ، host
ممکن است برای استخراج داده ها از یک پایگاه داده در سرور وب تغییر یابد.
صادرات داده
درست مثل read.csv
و read.table
، یک فریم داده را می توان با استفاده از فایلهای متنی یا CSV صادر کرد write
دستورات:
write.csv(data_frame, file = "data.csv")
برای صادرات به عنوان یک فایل متنی با استفاده از جداکننده متفاوت (مثلاً یک برگه) ، می توانید از write.table
دستور:
write.table(data_frame, file = "data.txt", sep = "t")
به روزرسانی پایگاه داده به همین راحتی است و با اجرای آن می توان این کار را انجام داد UPDATE
و INSERT
دستورات MySQL.
نمودارها را صادر کنید
هنگامی که داده های خود را در R پردازش و رسم کردید ، می توانید آن را نیز صادر کنید! png
یا jpeg
فرمان این کار را برای شما انجام می دهد. اساساً ، این طرح که در حال حاضر فعال است را ذخیره می کند:
png(filename="sample.png")
plot(c(1,2,3,4,5), c(4,5,6,7,8))
dev.off()
در حالت ایده آل ، می توانید دستور دوم را برای ذخیره طرح مورد نیاز تغییر دهید.
صادرات داده به وب
بارگذاری مستقیم پرونده ها در وب ممکن است کمی مشکل باشد ، اما شما می توانید با استفاده از دو مرحله داده را به وب صادر کنید: یک فایل را به صورت محلی ذخیره کنید ، سپس آن را در وب بارگذاری کنید. با استفاده از می توانید پرونده ای را در وب بارگذاری کنید POST
درخواست از طریق R ، که می تواند با استفاده از httr
بسته:
POST("<upload_URL>", body = list(name="<path_to_local_file>", filedata = upload_file(filename, "text/csv")))
برای اطلاعات بیشتر ، در اینجا آمده است راهنمای شروع سریع در httr
بسته بندی.
نتیجه
R در سالهای اخیر در بین افرادی که با آمار کار می کنند محبوبیت زیادی کسب کرده است و اکنون زمان خوبی برای یادگیری این زبان شگفت انگیز است. این به اندازه کافی انعطاف پذیر است که با انواع مختلفی از منابع داده همگام سازی می شود و صرف نظر از پیش زمینه شما کار با R نیز بسیار آسان است. بیایید امیدوار باشیم که این پست شما را با R شروع کرده باشد!