רשמים מכנס useR!2014

58 views
Skip to first unread message

Tal Galili

unread,
Jul 9, 2014, 1:47:32 PM7/9/14
to israel-r-...@googlegroups.com
פרסמתי כעת פוסט על הכנס R בו השתתפתי שבוע שעבר, כאן:


כדי לחסוך מכם את הקליק, העתקתי את התוכן לכאן - 


photo (1)

שבוע שעבר נהניתי להשתתף בכנס useR!2014 אשר התקיים באוניברסיטת UCLA בקליפורניה, ארה"ב. הכנס הוא המפגש השנתי של אנשי קהילת ה- R מרחבי העולם, כשהשנה השתתפו בו כ-700 אנשים מהקהילה. (למי שלא מכיר, R היא שפת תוכנה, בקוד פתוח, לתכנות סטטיסטי). אם לסכם, אומר שמדובר היה בחוויה מדהימה. זו הפעם החמישית שאני משתתף בכנס הזה, ומבין כל הכנסים המקצועיים שהיו בחיי, אין ספק שכנסי ה- useR הם הכי מספקים מבחינתי (ברמה המקצועית, האינטלקטואלית, והרגשית). מעבר לתוכן העיוני, הפתיחות והחברותיות של האנשים בקהילת ה- R, היא בדיוק סוג הדברים להם אפשר לצפות במפגשים של תוכנת קוד פתוח.

אם R קרוב לליבכם, אפילו אם אתם בתחילת דרככם, אני מעודד אתכם לעשות מאמץ ולהגיע למפגש useR!2015 אשר יתקיים שנה הבאה בדנמרק (ובמקרה שתעשו כן, אנא שלחו לי מייל - tal.g...@gmail.com, אשמח לדעת שאתם מגיעים).

בשאר הפוסט אני אציף נקודות שעלו לי סביב הכנס. אני לא ממש אלמד אף אחת מהן, ואני גם לא אסקור את כל מה שהיה. אבל אני מקווה שמשהו מזה תמצאו מעניין.

לקחים/רשמים/נקודות:

1) חבילת ה caret של מקס קון היא פשוט חובה בשביל כל מי שמתעניין בנושא של machine learning באמצעות R. מקס העביר סדנא מעניינת על החבילה שלו וכל השקופיות והקוד נמצאים כאן. מדובר בחבילה שמציעה מעטפת סטנדרטית להרבה מאד שיטות סטטיסטיות, מחבילות שונות ב-R. היא מקילה על התהליך של אימון מודלים שונים, עם פרמטרים שונים, והשוואתם. החבילה גם כוללת סט חביב של פונקציות לנירמול נתונים לקראת עבודה (הלוואי שהייתי יודע על זה לפני חודשיים).

2) חבילת ה- dplyr של האדלי וויקאם מציעה תהליך עבודה מצויין להכנת נתונים לאנליזה (פילטור של תצפיות ועמודות, מיון, אגרגציה). החבילה לא מציעה משהו שאין בפונקציות הבסיס של R, מלבד זה שהן יותר מהירות (ייתרון חשוב מאד), ומציאות ממשק דומה למניפולציה של data.frame כמו גם של אובייקטים השוכנים בדטא-בייס. למי שעובד עם הרבה מקורות נתונים, ונדרש לעשות להם הרבה "עיסוי", אני ממליץ עליהם מאד. עוד ייתרון כללי של עבודה עם חבילות מבית היוצר של האדלי הוא שמדובר במישהו שחושב המון על קלות השימוש בקוד שלו (והוא למעשה מקור השראה גדול עבורי להרבה מהדברים שאני מנסה לעשות). לבינתיים תוכלו להוריד שקופיות מהדרופ-בוקס שלו מכאן. תזדרזו לפני שהוא יסיר אותם...

3) חבילת ה magrittr. זה כנראה הגלוי הכי משמעותי שלי של R בשנה האחרונה! מדובר בחבילת R קטנטנה שמאפשרת לעשות (מה שמכונה) שירשור של פקודות (chaining). זה דומה לאופרטור המקטרת (pipe), למי שמכיר לינוקס. בשביל מי שעוסק בניתוח נתונים, ואין לי דרך לומר זאת באופן מספיק בוטה, זו חובתכם ללמוד על החבילה הזו! יש לחבילה מדריך מאד מאד קצר שמבהיר את השימוש בה. אני מעודד אתכם להפסיק את קריאת הפוסט הזה כעת, וללכת לקרוא את המדריך :) חבילת ה dplyr נשענת על ה magrittr, אבל אפשר להשתמש בה ללא קשר (ואני מתכנן לעשות בה שימוש מרכזי בחבילת ה dendextend שלי)

4) ג'ון צ'יימברס (אחד מהממציאים של R), נתן הרצאה נחמדה. התמצות שלה הוא ש-R כשלעצמה לא בנויה לאתגרים המודרניים של ניתוח נתונים. אבל שלמעשה, היא מעולם לא תוכננה להתאים לאתגרים של אף דור. גם בימיה הראשונים, היו שאמרו איך ש-R זה נחמד, אבל ניתוח נתונים אמיתי צריך לעשות ב fortran. הפואנטה של ג'ון היא שיש להתייחס ל-R כאל שפת ממשק לכלים אשר ממומשים בשפות אחרות(כמו Rcpp, H2O, hadoop וכן הלאה).

5) החבילה ggplot2 בסוף דרכה. טוב, זה לא מדוייק. מדובר בחבילה מאד עשירה, ועוד הרבה אנשים משתמשים ומפתחים לה. אז שווה בהחלט להכיר אותה. א-ב-ל, ממה שהבנתי, האדלי החליט להפסיק את הפיתוח האקטיבי שלה, ולהפנות את תשומת ליבו לחבילה ggviz. מדובר ב"דור הבא" של ggplot2, אשר שואף לשלב גרפיקה אינטראקטיבית עם R באופן הרבה יותר קל מאשר בעבר. החבילה עדיין בחיתולים, אבל אני צופה לה גדולות. הנה קישור לשקפים וקוד עליה.

6) בכללי, הנושא של גרפים אינטראקטיביים זכה להמון תשומת לב השנה. שתי האסטרטגיות העיקריות הן להמיר אובייקטי R ל javascript, ואז להישען על כמות החבילות העצומה הקיימת. ההרצאה של rCharts היא דוגמא מעולה לכך. (קישור לשקפים).

7) האנשים שמאחורי iplots (סיימון אורבנק, ושות' ממעבדות AT&T), התחילו לתת תשומת לב לגרפים אינטראקטיביים בענן, ויצרו את חבילת ה iwplots. עוד לא ברור לי לאן זה ילך. ההבדל בינם לבין האחרים, הוא שמדובר באנשים שמתמחים ביצירת גרפים של המון נתונים, אז העתיד מסקרן (השאיפה שלהם היא תרשים פיזור על מליון נקודות).

8) נתתי הרצאה על חבילת ה dendextend שלי. העליתי את המצגת לכאן, אם אתם סקרנים.

9) אגב dplyr, יש גם את חבילת ה data.table. [Abstract] [Talk][Tutorial] מדובר בחבילה עשירה לא פחות מזו של dplyr, ועם קהל מעריצים שישאר עוד הרבה זמן. אישית אני לא נמשך לחבילה כי היא מוסיפה סינטקס נוסף על פני דברים בסיסיים ב- R, כך שזה לא תכנות כיפי (וכאמור, dplyr נותן לי מענה מוצלח מבחינת מהירות). דבר אחד ששווה להכיר זה את פונקציית ה fread שבחבילה, היות והיא חסרת תחרות בנושא של קריאת קבצי csv גדולים! (והמרתם ל data.frame)

10) ג'ון פוקס נתן הרצאה יפה על הנושא של וויזואליזציית האפקט של משתנים במודלי רגרסיה מורכבים. יש לו חבילה בשם effects, ואם אתם עושים מודלי רגרסיה - אני מעודד אתכם להעיף בה מבט. באותו נושא יש גם חבילה בשם freqparcoord אשר מנסה להציג תרשים קואורדניטות מקבילות של שאריות מתוקננות. זה עדיין לא בשל לחלוטין, אבל חביב.

11) אם אתם בקטע של להריץ סקריפטים של R דרך bash (לדוגמא, דרך Rscript), חבילה חדשה בשם docopt, מאפשרת ליצור מבנה מאד מורכב של פרמטרים בהרצה של הסקריפט (קישור לאבסטרקט).

12) יש חבילה חדשה שמאפשרת בנייה של פלטים מאד מורכבים לתוך word (!). הבעיה היא שזה עובד בפרדיגמה של פונקציות שכותבות לתוך קובץ (במקום הפרדיגמה של knitr, שהיא עדיפה בעיני בהרבה). ביקשתי עזרה על זה מהמחבר, אבל אני לא יודע אם הוא יצליח לגרום לזה לקרות. קישור לחבילה.

13) במסגרת העולם של "מחקר בר שיחזור", ישנה חבילה מעניינת חדשה בשם rctrack אשר מייצרת תיעוד של הקבצים שנקראו ונכתבו במהלך הרצה של קוד. החבילה עוד לא ב- CRAN, אבל אפשר להוריד ולשחק איתה מכאן. אם אתם עובדים עם knitr ו- git זה לא רלוונטי לכם, אבל לאנשים שמסרבים לעבוד באופן כזה, החבילה יכולה לסייע קצת.

14) הנושא של שימור גירסאות של חבילות בשביל שיחזור ניתוחים סטטיסטיים בעתיד נהפך לנושא חם. שתי פתרונות שמוצאים בימים אלו מגיעים מ REvolution וגם מ- RStudio. REvolution התחילו לשמור עותק של כל החבילות שב- CRAN אחת ליום, ומאפשרות לשחזר בסביבת העבודה שלכם חבילות מכל תאריך (קישור למצגת בנושא). לעומתם, RStudio, מאפשרים ניהול של כל הגירסאות של חבילות שאתם משתמשים בהם בפרוייקט שלכם (שזה אומר חבילות שהם גם מ- CRAN, וגם מ - rforge, github וכו'), דרך חבילה בשם packrat (הנה האתר). הייתרון של packrat הוא שמדובר במערכת יותר גמישה, יותר "טובה" לטווח ארוך, ובימים אלו עובדים על שילוב נוח של המערכת עם RStudio. החיסרון העיקרי של המערכת הוא שהיא דורשת למעשה לשמור גירסאות של כל החבילות שלכם לכל אחד מהפרוייקטים בהם אתם משתמשים בהם. עבור מישהו כמוני אשר שומר פרוייקטים ב dropbox, זה קצת לא scalable. מצד שני, הם אמרו לי שבעתיד הם יעבדו על היכולת לעשות caching לחבילות שונות על פני פרוייקטים. אז כשזה יקרה, אני מקווה שזה יפתור את הבעיה. אז לכרגע זה לא כל כך יישים (עבורי, אבל עבורכם כנראה שכן). אבל זה כנראה ייפתר בשנה שנתיים הקרובות (שזה מעולה!).

15) RStudio באופן כללי הפציצו בכנס הזה. הם הציגו שיפורים נהדרים לפורמט של rmarkdown (מצגת), ובין השאר של שילוב בינו לבין Shiny. הפורמט החדש של מסמך שייני נחשב (לדעתם) לדרך נוחה יותר להתחיל לעבוד עם Shiny, שזה מעניין מאד (תדמיינו מסמך עם גרפים אינטראקטיביים עם R ברקע, זה מגניב) - שקופיות.

היו עוד המון דברים אחרים סביב הכנס שקרו ולא הייתי חלק מהם. כדי לקבל התרשמות כללית לגביהם, המקום להסתכל הוא אתר האינטרנט של הכנס. מארגני הכנס עובדים על להוסיף לאתר עוד ועוד שקופיות ומצגות, אז שווה להכנס לשם שוב בעוד שבוע שבועיים.

אגב - אני מתכנן שיהיו עוד מפגשי R בארץ בשנה הקרובה. אם אתם רוצים להעביר הרצאה על משהו, תשלחו לי מייל. ואני אכתוב/אטפל בזה עוד כשאחזור לארץ (אני כרגע עדיין בארה"ב, בביקור משפחה)

מקווה שהיה לכם מעניין.
שלכם,
טל גלילי



----------------Contact Details:-------------------------------------------------------
Contact me: Tal.G...@gmail.com
Read me: www.talgalili.com (Hebrew) | www.biostatistics.co.il (Hebrew) | www.r-statistics.com (English)
----------------------------------------------------------------------------------------------

daniel nevo

unread,
Jul 10, 2014, 2:34:26 AM7/10/14
to israel-r-...@googlegroups.com
היי טל,

מאוד מעניין הפוסט - תודה!

דניאל



--
You received this message because you are subscribed to the Google Groups "Israel R User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to israel-r-user-g...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

amit gal

unread,
Jul 10, 2014, 2:53:46 AM7/10/14
to israel-r-...@googlegroups.com
תודה על הפוסט והסיכום...
אז לא להכין הרצאה על ggplot?


2014-07-09 20:47 GMT+03:00 Tal Galili <tal.g...@gmail.com>:

Avner Kantor

unread,
Jul 10, 2014, 3:02:31 AM7/10/14
to israel-r-user-group

 הרבה יותר שימושי rChart
וגם googleVis נחמד

Daniella Gilboa

unread,
Jul 14, 2014, 3:41:25 PM7/14/14
to israel-r-...@googlegroups.com
היי טל
תודה על כל העדכונים. 
זו עזרה אדירה.
דניאלה

Tal Galili

unread,
Jul 14, 2014, 3:46:11 PM7/14/14
to israel-r-...@googlegroups.com
דניאל - תודה, שמחתי.

לשאלתך עמית - 
אני עדיין אשמח ללמוד ממך עוד על ggplot2.
הלוגיקה שמאחורי המערכת לא תשתנה מהותית (השינוי העתידי לא יהיה בקונספטים של  grammar of graphics, אלא בוואריאציות עליהן, כך אני חושד).
ועדיין מדובר במערכת מאד חזקה שתישאר איתנו עוד לא מעט זמן.

אז כאמור - אני מצפה להרצאתך בכליון עיניים :)




----------------Contact Details:-------------------------------------------------------
Contact me: Tal.G...@gmail.com
Read me: www.talgalili.com (Hebrew) | www.biostatistics.co.il (Hebrew) | www.r-statistics.com (English)
----------------------------------------------------------------------------------------------



2014-07-10 9:53 GMT+03:00 amit gal <amit...@gmail.com>:

Diklah Geva

unread,
Jul 16, 2014, 4:12:19 AM7/16/14
to israel-r-...@googlegroups.com, tal.g...@gmail.com

טל היקר

בנימה אישיתי אני מבקשת להודות לך מאד על הדוח המעניין והמרענן הזה

מעבר לכך שזה ממש ממש כיף שאתה משתף ודרכך אני חובה את חווית הכנס

האינפורמציה כל כך חשובה ורלוונטית. לדעת לאן נושבת הרוח איזה חבילות להתמקד בזמני החופשי וכו.

זה מכתב שמסומן בככבית אצלי ןאחזור אליו עוד מספר פעמים לאורך השנה - ת  ו  ד  ה  !!!!

 

אתה ממש נותן השראה

הייתי שבוע שעבר בכנס הגדול של הביוסטטיסטיקאים   IBS  שהיה בפירנצה.

ואשמח בימים הקרובים לסכם לחלוק אתכם רשמים ואינפרמאציה מדהימה שהייתה בכנס הזה.

 

דקלה גבע

 

 

 

From: israel-r-...@googlegroups.com [mailto:israel-r-...@googlegroups.com] On Behalf Of Tal Galili
Sent: 14 July 2014 22:46
To: israel-r-...@googlegroups.com
Subject: Re: [Israel RUG] רשמים מכנס useR!2014

 

דניאל - תודה, שמחתי.

 

לשאלתך עמית - 

אני עדיין אשמח ללמוד ממך עוד על ggplot2.

הלוגיקה שמאחורי המערכת לא תשתנה מהותית (השינוי העתידי לא יהיה בקונספטים של  grammar of graphics, אלא בוואריאציות עליהן, כך אני חושד).

ועדיין מדובר במערכת מאד חזקה שתישאר איתנו עוד לא מעט זמן.

 

אז כאמור - אני מצפה להרצאתך בכליון עיניים :)

 

 



----------------Contact Details:-------------------------------------------------------
Contact me: Tal.G...@gmail.com
Read me: www.talgalili.com (Hebrew) | www.biostatistics.co.il (Hebrew) | www.r-statistics.com (English)
----------------------------------------------------------------------------------------------

 

2014-07-10 9:53 GMT+03:00 amit gal <amit...@gmail.com>:

תודה על הפוסט והסיכום...

אז לא להכין הרצאה על ggplot?

2014-07-09 20:47 GMT+03:00 Tal Galili <tal.g...@gmail.com>:

פרסמתי כעת פוסט על הכנס R בו השתתפתי שבוע שעבר, כאן:

 

 

כדי לחסוך מכם את הקליק, העתקתי את התוכן לכאן - 

 

 

Image removed by sender. photo (1)

image001.jpg
Message has been deleted

Amit Fliess

unread,
Jul 16, 2014, 12:29:42 PM7/16/14
to israel-r-...@googlegroups.com
תודה על ההודעה על לשירשור פקודות ע"י חבילת magrittr. כ-one-liner על מערכות Unix שירשור הפקודות ב-R מאפשר לי לבצע פעולות בשורת פקודה של Rscript. כדי לבצע זאת יצרתי בתיקיה הראשית שלי קובץ בשם Rprofile. והכנסתי לתוכו את הפקודה הבאה:
(library(magrittr
דוגמה שיכול(transpose) של קובץ טבלה מופרד ע"י tab:
Rscript -e 'read.delim("stdin", header = T , sep = "\t")%>%t%>%write.table("", sep = "\t", quote=F)' < input.tab > output.tab 
כמובן יש אפשרות לשילוב עם פקודות Unix Shell

לא הבנתי מה docopt נותן לי?

מקריאה נוספת הבנתי שלחבילות R נוספות יש בינתיים אופרטורים אחרים לשירשור פקודות:
%.% ב-dplyr
%|% ב-plyrmr

מה היתרון של חבילת data.table על plyrmr?
קשור ל-plyrmr:


בתאריך יום רביעי, 9 ביולי 2014 20:47:32 UTC+3, מאת Tal Galili:

Ayala Allon

unread,
Aug 10, 2014, 5:25:19 PM8/10/14
to israel-r-...@googlegroups.com
תודה רבה על העדכון המפורט!
אילה

On Wednesday, July 9, 2014 8:47:32 PM UTC+3, Tal Galili wrote:
Reply all
Reply to author
Forward
0 new messages