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


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

 Error in `[<-.data.frame`(`*tmp*`, df$A == 5, , value = list(A = c(NA, : 
  missing values are not allowed in subscripted assignments of data frames

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

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

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

R တွင် အောက်ပါ data frame ကို ဖန်တီးသည်ဆိုပါစို့။

 #create data frame
df <- data. frame (A=c(3, 4, 4, NA, 5, 8, 5, 9),
                 B=c(12, 13, 7, 7, 12, 11, 15, 7))

#view data frame
df

   AB
1 3 12
2 4 13
3 4 7
4 NA 7
5 5 12
6 8 11
7 5 15
8 9 7

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

 #attempt to assign column B a value of 10 where A is equal to 5
df[df$A == 5, ]$B <- 10

Error in `[<-.data.frame`(`*tmp*`, df$A == 5, , value = list(A = c(NA, : 
  missing values are not allowed in subscripted assignments of data frames

ကော်လံ A တွင် NA တန်ဖိုးများ ရှိနေ၍ အမှားအယွင်းတစ်ခုကို လက်ခံရရှိပြီး အမှားအယွင်း မက်ဆေ့ချ်သည် ဒေတာဘောင်များ၏ subscript assignments များတွင် ပျောက်နေသောတန်ဖိုးများကို ခွင့်မပြုကြောင်း အတိအလင်းပြောထားသည်။

အမှားကို ဘယ်လိုရှောင်မလဲ။

ဤအမှားကိုရှောင်ရှားရန်နည်းလမ်းနှစ်ခုရှိသည်။

1. %in% အော်ပရေတာကို သုံးပါ။

ဤအမှားအယွင်းကို ရှောင်ရှားရန် နည်းလမ်းတစ်ခုမှာ တာဝန်ကို လုပ်ဆောင်သည့်အခါ %in% အော်ပရေတာအား အသုံးပြုရန်ဖြစ်သည်-

 #assign column B a value of 10 where A is equal to 5
df[df$A %in% 5,]$B <- 10

#view updated data frame
df

   AB
1 3 12
2 4 13
3 4 7
4 NA 7
5 5 10
6 8 11
7 5 10
8 9 7

ကော်လံ B ရှိ အတန်းတစ်ခုစီတွင် 10 တန်ဘိုးကို သတ်မှတ်ထားပြီး ကော်လံ A တွင် သက်ဆိုင်သည့်တန်ဖိုးသည် 5 ဖြစ်ပြီး ကျွန်ုပ်တို့ အမှားအယွင်းမရှိသည်ကို သတိပြုပါ။

2. is.na() ကိုသုံးပါ

ဤအမှားကိုရှောင်ရှားရန်နောက်ထပ်နည်းလမ်းမှာတာဝန်ကိုလုပ်ဆောင်သောအခါ is.na() လုပ်ဆောင်ချက်ကိုအသုံးပြုရန်ဖြစ်သည်-

 #assign column B a value of 10 where A is equal to 5
df[!is. na (df$A) & df$A == 5, ]$B <- 10

#view updated data frame
df

   AB
1 3 12
2 4 13
3 4 7
4 NA 7
5 5 10
6 8 11
7 5 10
8 9 7

တစ်ဖန်၊ ကော်လံ A တွင် သက်ဆိုင်သောတန်ဖိုးသည် 5 ဖြစ်ပြီး ကျွန်ုပ်တို့သည် အမှားအယွင်းမရှိသည့် ကော်လံ B ရှိ အတန်းတစ်ခုစီသို့ 10 တန်ဖိုးတစ်ခု သတ်မှတ်နိုင်သည်။

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

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

R- အကြောင်းပြချက်များတွင် ကွဲပြားသော လိုင်းနံပါတ်များ ပါဝင်ပါသည်။
R တွင် အသုံးမပြုသော အငြင်းအခုံများကို ရွေးချယ်ရာတွင် အမှားပြင်ဆင်နည်း
R- အစားထိုးမှုတွင် ပြုပြင်နည်းသည် သုညအလျားရှိသည်။

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

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