R အမှားကို ကိုင်တွယ်နည်း- $ operator သည် atomic vector များအတွက် အကျုံးမဝင်ပါ။


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

 $ operator is invalid for atomic vectors

$ operator ကို အသုံးပြု၍ အက်တမ် vector ၏ ဒြပ်စင်တစ်ခုကို ဝင်ရောက်ရန် ကြိုးစားသောအခါ ဤအမှားသည် ဖြစ်ပေါ်လာပါသည်။

“ atomic vector” သည် R တွင် c() သို့မဟုတ် vector() လုပ်ဆောင်ချက်များကို အသုံးပြု၍ ဖန်တီးထားသော တစ်ဘက်မြင် ဒေတာအရာဝတ္ထုတစ်ခုဖြစ်သည်။

ကံမကောင်းစွာဖြင့်၊ $ ကို atomic vectors များ၏ဒြပ်စင်များကိုဝင်ရောက်ရန်အသုံးပြု၍မရပါ။ ယင်းအစား၊ သင်သည် ကွင်းပိတ်နှစ်ခု [[]] သို့မဟုတ် getElement() လုပ်ဆောင်ချက်ကို အသုံးပြုသင့်သည်။

ဤသင်ခန်းစာသည် လက်တွေ့တွင် ဤအမှားကို ကိုင်တွယ်နည်းနမူနာများကို မျှဝေထားသည်။

error message ကို ဘယ်လိုပြန်ထုတ်မလဲ။

R တွင်အောက်ပါ vector ၏ဒြပ်စင်တစ်ခုကိုဝင်ရောက်ရန် $ operator ကို အသုံးပြုရန်ကြိုးစားနေသည်ဆိုပါစို့။

 #definevector
x <- c(1, 3, 7, 6, 2)

#provide names
names(x) <- c('a', 'b', 'c', 'd', 'e')

#display vector
x

a B C D E
1 3 7 6 2

#attempt to access value in 'e'
x$e

Error in x$e: $ operator is invalid for atomic vectors

atomic vectors ၏ဒြပ်စင်များကိုဝင်ရောက်ရန် $ operator ကိုအသုံးပြုခြင်းသည်တရားမ၀င်သောကြောင့် အမှားအယွင်းတစ်ခုလက်ခံရရှိနေပါသည်။ ကျွန်ုပ်တို့၏ vector သည် အမှန်ပင် အနုမြူဗုံးဖြစ်ကြောင်းကိုလည်း စစ်ဆေးနိုင်ပါသည်။

 #check if vector is atomic
is. atomic (x)

[1] TRUE

နည်းလမ်း #1- နှစ်ထပ်ကွင်းပိတ်များကို အသုံးပြု၍ အစိတ်အပိုင်းများကို ဝင်ရောက်ကြည့်ရှုပါ။

vector တစ်ခုတွင် နာမည်ဖြင့် ဒြပ်စင်များကို ဝင်ရောက်ရန် နည်းလမ်းတစ်ခုမှာ [[]] notation ကို အသုံးပြုခြင်းဖြစ်သည်-

 #definevector
x <- c(1, 3, 7, 6, 2)

#provide names
names(x) <- c('a', 'b', 'c', 'd', 'e')

#access value for 'e'
x[['e']]

[1] 2

နည်းလမ်း #2- getElement() ကို အသုံးပြု၍ Elements များကို ဝင်ရောက်ကြည့်ရှုခြင်း

vector တစ်ခုတွင် နာမည်ဖြင့် ဒြပ်စင်များကို ဝင်ရောက်ရန် အခြားနည်းလမ်းမှာ getElement() အမှတ်အသားကို အသုံးပြုခြင်းဖြစ်သည်-

 #definevector
x <- c(1, 3, 7, 6, 2)

#provide names
names(x) <- c('a', 'b', 'c', 'd', 'e')

#access value for 'e'
getElement(x, 'e')

[1] 2

နည်းလမ်း #3- vector ကို data frame သို့ပြောင်းပြီး $operator ကိုသုံးပါ။

vector တစ်ခုတွင် နာမည်ဖြင့် ဒြပ်စင်များကို ဝင်ရောက်ရန် အခြားနည်းလမ်းမှာ vector ကို ဒေတာဘောင်သို့ ဦးစွာ ပြောင်းရန်၊ ထို့နောက် တန်ဖိုးကို ရယူရန် $ operator ကို အသုံးပြုပါ-

 #definevector
x <- c(1, 3, 7, 6, 2)

#provide names
names(x) <- c('a', 'b', 'c', 'd', 'e')

#convert vector to data frame
data_x <- as. data . frame (t(x))

#display data frame
data_x

  a B C D E
1 1 3 7 6 2

#access value for 'e'
data_x$e

[1] 2

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

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

R တွင် ပြင်ဆင်နည်း- အမည်များသည် ယခင်အမည်များနှင့် မကိုက်ညီပါ။
အကျပ်ကိုင်မှုဖြင့် မိတ်ဆက်ပေးခဲ့သော R- NAs တွင် မည်ကဲ့သို့ ပြင်ဆင်ရမည်နည်း။
R ဖြင့် ပြုပြင်နည်း- ဘောင်များထဲမှ အရိပ်အမြွက်
R တွင် ပြုပြင်နည်း- ဆန့်ကျင်ကွဲလွဲမှုများကို အဆင့် 2 သို့မဟုတ် ထို့ထက်ပိုသော အဆင့်များရှိသည့် အချက်များတွင်သာ အသုံးပြုနိုင်သည်။

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

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