פיצול משתנה קטגורי למספר משתנים

RRotem

משתמש פעיל
שלום לכולם. מקווה שהשאלה שלי לא טפשית.
אני עובדת עם בסיס נתונים שיש בו משתנה שמכיל 68 קטגוריות. אני מנסה להפוך את המשתנה הזה לטורים, ככה שכל קטגוריה תהיה משתנה בפני עצמו. יצרתי וקטור שמכיל את השמות של כל הקטגוריות וניסיתי להשתמש בdplyr::gather באופן שבו אני אני מגדירה את הערכים שיהפכו לטורים לפי אותו וקטור. אבל זה לא עובד.
רעיונות איך לעשות את זה? (הרגישו חופשי לקטול אותי על כל טעות אחרת בקוד)
השורה שלא עובדת מודגשת בכחול
1600275976411.png


תודה לעונים :)
 

kadima

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

אני לא בטוחה שהבנתי אותך - האם התכוונת שאת רוצה להמיר רשימה של אוביקטים עם 68 תכונות לטבלה של 68 עמודות?
לא הבנתי מה הכוונה קטגוריות? האם את עושה איזשהו classify ל68 מחלקות שונות?
מה המבנה המקורי ולמה את מנסה לשנות אותו?
 

RRotem

משתמש פעיל
מזמן חלמתי להכיר את R.

אני לא בטוחה שהבנתי אותך - האם התכוונת שאת רוצה להמיר רשימה של אוביקטים עם 68 תכונות לטבלה של 68 עמודות?
לא הבנתי מה הכוונה קטגוריות? האם את עושה איזשהו classify ל68 מחלקות שונות?
מה המבנה המקורי ולמה את מנסה לשנות אותו?
המבנה המקורי הוא שיש טור שמכיל אינפורמציה על 68 פריטים שונים. אני מנסה להמיר את 68 הפריטים האלה לטורים כדי שאוכל להשוות בינהם.
זה לא ממש משנה אבל הקטגוריות הן תפוקה, יצוא, יבוא, כמות מאוחסנת, תפוקה ליחידת שטח וכו
1600284684006.png
 

kadima

משתמש מקצוען
עדיין לא בטוחה שהבנתי אותך.
כלומר מה שהבנתי זה שיש לך רשימה של אוביקטים שלכולם אותם תכונות (?), ואת רוצה לסדר את זה בטבלה.
כנראה שלא הבנתי אותך- כי זה באמת יותר מידי פשוט.
אם כן- אז בפייתון עשיתי כך:
1600285572628.png
 
נערך לאחרונה ב:

kadima

משתמש מקצוען
הסתדרת?
מסקרן אותי בדיוק מה היתה הכוונה.
 

s976

משתמש סופר מקצוען
הנדסת תוכנה
D I G I T A L
עדיין לא בטוחה שהבנתי אותך.
כלומר מה שהבנתי זה שיש לך רשימה של אוביקטים שלכולם אותם תכונות (?), ואת רוצה לסדר את זה בטבלה.
כנראה שלא הבנתי אותך- כי זה באמת יותר מידי פשוט.
אם כן- אז בפייתון עשיתי כך:
צפה בקובץ המצורף 729192

האמת, גם אני לא הבנתי את השאלה. אבל אם זה מה שאת עשית, לא הבנתי למה צריך את numpy כאן. וכן למה צריך לולאה
זה לא אותו הדבר?
1600289313348.png
 

kadima

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

s976

משתמש סופר מקצוען
הנדסת תוכנה
D I G I T A L
הרעיון של pandas וגם numpy זה array oriented programming
בלולאות משתמשים לעתים נדירות מאוד. זה יוצא גם יותר קצר אבל העיקר זה עובד הרבה הרבה יותר מהר.

ודרך אגב בפייתון זה ברמת ספריות, אבל בR זה מובנה, לפי מה שהבנתי
 

RRotem

משתמש פעיל
תודה על התשובות. לא, התכוונתי בעצם לפצל את אותו הטור ולתת לו את הערכים של טור אחר, אבל שהטורים שיתווספו למסד הנתונים המקורי.
אסביר בדיוק מה קורה: יש לי מסד נתונים של כל הסחר החקלאי בארה״ב ומדינות שסוחרות איתה. המסד כולל תאריכים, שם המדינה, סוג התוצרת וכו׳. אחד הטורים הוא ערך (משתנה רציף) והטור שלפניו הוא משתנה קטגורי שמתאר למה הערך הזה מתקשר. אם למשל Value=2 בעבור כמות זרעים, אי אפשר להגיד שזה שווה לvalue=2 בעבור יבוא של חלב עיזים. בגלל זה, אני רוצה לפצל את אותו טור וככה חלב עיזים יהיה בטור נפרד מכמות הזרעים אבל באותה שורה כי שניהם מתייחסים לאותה מדינה ובאותו תאריך
 

ירושל

משתמש מקצוען
ואני איכשהו הבנתי שאת מתכוונת להפוך את המידע שלך ל-one hot encoding, כלומר, שלכל מדינה תהיה לך עמודה לכל סוג של תוצר (עמודה לזרעים, עמודה ליבוא חלב עיזים וכן הלאה).
פתרונות לדוגמא.

מניחה את זה פה אפילו שהסתדרת, כי נראה לי יכול להיות שימושי.
 

RRotem

משתמש פעיל
ואני איכשהו הבנתי שאת מתכוונת להפוך את המידע שלך ל-one hot encoding, כלומר, שלכל מדינה תהיה לך עמודה לכל סוג של תוצר (עמודה לזרעים, עמודה ליבוא חלב עיזים וכן הלאה).
פתרונות לדוגמא.

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

אולי מעניין אותך גם...

הפרק היומי

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


תהילים פרק קכו

א שִׁיר הַמַּעֲלוֹת בְּשׁוּב יְהוָה אֶת שִׁיבַת צִיּוֹן הָיִינוּ כְּחֹלְמִים:ב אָז יִמָּלֵא שְׂחוֹק פִּינוּ וּלְשׁוֹנֵנוּ רִנָּה אָז יֹאמְרוּ בַגּוֹיִם הִגְדִּיל יְהוָה לַעֲשׂוֹת עִם אֵלֶּה:ג הִגְדִּיל יְהוָה לַעֲשׂוֹת עִמָּנוּ הָיִינוּ שְׂמֵחִים:ד שׁוּבָה יְהוָה אֶת (שבותנו) שְׁבִיתֵנוּ כַּאֲפִיקִים בַּנֶּגֶב:ה הַזֹּרְעִים בְּדִמְעָה בְּרִנָּה יִקְצֹרוּ:ו הָלוֹךְ יֵלֵךְ וּבָכֹה נֹשֵׂא מֶשֶׁךְ הַזָּרַע בֹּא יָבוֹא בְרִנָּה נֹשֵׂא אֲלֻמֹּתָיו:
נקרא  12  פעמים

לוח מודעות

למעלה