R တွင် ပြုပြင်နည်း- စုစည်းမှုလုပ်ဆောင်ချက် ပျောက်ဆုံးနေခြင်း၊ ပုံသေ "အရှည်"


R ကိုအသုံးပြုရာတွင် သင်ကြုံတွေ့ရနိုင်သည့် အမှားတစ်ခုမှာ-

 Aggregation function missing: defaulting to length

ရှည်လျားသောဖော်မတ်မှ ကျယ်ပြန့်သောဖော်မတ်သို့ ဒေတာဘောင်တစ်ခုပြောင်းရန် reshape2 ပက်ကေ့ခ်ျရှိ dcast လုပ်ဆောင်ချက်ကို သင်အသုံးပြုသောအခါတွင် ဤအမှားအယွင်းဖြစ်တတ်သော်လည်း ကျယ်ပြန့်ဒေတာဘောင်၏ဆဲလ်တစ်ခုချင်းစီတွင် တန်ဖိုးများစွာကို ထားရှိနိုင်ပါသည်။

အောက်ဖော်ပြပါ ဥပမာသည် ဤအမှားကို လက်တွေ့တွင် မည်သို့ပြုပြင်ရမည်ကို ပြသထားသည်။

အမှားကို ဘယ်လိုပြန်ထုတ်မလဲ။

ကုန်ပစ္စည်းအမျိုးမျိုး၏ရောင်းချမှုနှင့်ပတ်သက်သောအချက်အလက်ပါရှိသော R တွင်အောက်ပါဒေတာဘောင်ရှိသည်ဆိုပါစို့။

 #create data frame
df <- data. frame (store=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 promotion=c('Y', 'Y', 'N', 'N', 'Y', 'Y', 'N', 'N'),
                 product=c(1, 2, 1, 2, 1, 2, 1, 2),
                 sales=c(12, 18, 29, 20, 30, 11, 15, 22))

#view data frame
df

  store promotion product sales
1 AY 1 12
2 AY 2 18
3 YEAR 1 29
4 YEAR 2 20
5 BY 1 30
6 BY 2 11
7 BN 1 15
8 BN 2 22

ယခုကျွန်ုပ်တို့သည် data frame ကို long format မှ wide format သို့ပြောင်းရန် dcast function ကိုအသုံးပြုရန်ကြိုးစားသည်ဆိုပါစို့။

 library (reshape2)

#convert data frame to wide format
df_wide <- dcast(df, store ~ product, value. var = " sales ")

#view result
df_wide

Aggregation function missing: defaulting to length
  store 1 2
1 to 2 2
2 B 2 2

dcast လုပ်ဆောင်ချက်သည် အလုပ်လုပ်သော်လည်း စုစည်းလုပ်ဆောင်ချက် ပျောက်ဆုံးနေသည့် သတိပေးစာကို ကျွန်ုပ်တို့ လက်ခံရရှိကြောင်း သတိပြုပါ။

အမှားကိုဘယ်လိုပြင်မလဲ။

သတိပေးစာတစ်စောင် လက်ခံရရှိရခြင်းအကြောင်းရင်းမှာ စတိုးဆိုင် နှင့် ကုန်ပစ္စည်း ပေါင်းစပ်မှုတစ်ခုစီအတွက် ကျွန်ုပ်တို့ ရောင်းချမှု အတွက် အသုံးပြုနိုင်သည့် အလားအလာတန်ဖိုးနှစ်ခု ရှိနေသောကြောင့်ဖြစ်သည်။

ဥပမာ၊ စတိုးဆိုင် A နှင့် ထုတ်ကုန် 1 အတွက် အရောင်းတန်ဖိုးသည် 12 သို့မဟုတ် 29 ဖြစ်နိုင်သည်။

ထို့ကြောင့် dcast လုပ်ဆောင်ချက်သည် ၎င်း၏ စုစည်းမှုလုပ်ဆောင်ချက်အဖြစ် “ အရှည်” ကို ပုံသေသတ်မှတ်သည်။

ဥပမာအားဖြင့်၊ ကြီးမားသောဒေတာဘေ့စ်သည် စတိုးဆိုင် A နှင့် ထုတ်ကုန် 1 အတွက် စုစုပေါင်း အရောင်းတန်ဖိုး 2 ခုရှိကြောင်း ပြောပြသည်။

၎င်းအစား မတူညီသော စုစည်းမှုလုပ်ဆောင်ချက်ကို အသုံးပြုလိုပါက fun.aggregate ကို အသုံးပြုနိုင်ပါသည်။

ဥပမာအားဖြင့်၊ စတိုးဆိုင် နှင့် ကုန်ပစ္စည်း အလိုက် ရောင်းချမှုပေါင်းလဒ်ကို တွက်ချက်ရန် အောက်ပါ syntax ကို အသုံးပြုနိုင်ပါသည်။

 library (reshape2)

#convert data frame to wide format
df_wide <- dcast(df, store ~ product, value. var = " sales ", fun. aggregate =sum)

#view result
df_wide

  store 1 2
1 A 41 38
2 B 45 33

ဤသည်မှာ ကြီးမားသောဒေတာဘောင်ရှိ တန်ဖိုးများကို အဓိပ္ပာယ်ဖွင့်ဆိုပုံဖြစ်သည်-

  • စတိုးဆိုင် A နှင့် ကုန်ပစ္စည်း 1 ၏ရောင်းချမှုပေါင်းလဒ်သည် 41 ဖြစ်သည်။
  • စတိုးဆိုင် A နှင့် ထုတ်ကုန် 2 ၏ရောင်းအား၏ပေါင်းလဒ်သည် 38 ဖြစ်သည်။
  • စတိုးဆိုင် B နှင့် ထုတ်ကုန် 1 ၏ရောင်းချမှုပေါင်းစုသည် 45 ဖြစ်သည်။
  • စတိုးဆိုင် B နှင့် ထုတ်ကုန် 2 ၏ရောင်းချမှုပေါင်းလဒ်သည် 33 ဖြစ်သည်။

fun.aggregate အငြင်းအခုံကို အသုံးပြုထားသောကြောင့် ယခုတစ်ကြိမ်တွင် သတိပေးစာများ မရရှိကြောင်း သတိပြုပါ။

ထပ်လောင်းအရင်းအမြစ်များ

အောက်ဖော်ပြပါ သင်ခန်းစာများသည် R တွင် အခြားသော ဘုံအမှားများကို မည်သို့ပြုပြင်ရမည်ကို ရှင်းပြထားပါသည်။

R တွင် ပြုပြင်နည်း- မျှော်လင့်မထားသော စာကြောင်း ကိန်းသေ
R တွင် ပြင်ဆင်နည်း- ExtractVars တွင် မမှန်ကန်သော နမူနာပုံစံဖော်မြူလာ
R- argument သည် ကိန်းဂဏာန်းမဟုတ်သလို ယုတ္တိလည်းမဟုတ်- return na တွင် ပြုပြင်နည်း

မှတ်ချက်တစ်ခုထည့်ပါ။

သင့် email လိပ်စာကို ဖော်ပြမည် မဟုတ်ပါ။ လိုအပ်သော ကွက်လပ်များကို * ဖြင့်မှတ်သားထားသည်