ပြုပြင်နည်း- colmeans(x၊ na.rm = true) ရှိ အမှား- 'x' သည် ဂဏန်းဖြစ်ရမည်
R ကိုအသုံးပြုသောအခါတွင် သင်ကြုံတွေ့ရနိုင်သည့် အမှားသတင်းစကားမှာ-
Error in colMeans(x, na.rm = TRUE): 'x' must be numeric
R တွင် အဓိကအစိတ်အပိုင်းခွဲခြမ်းစိတ်ဖြာမှု လုပ်ဆောင်ရန် prcomp() လုပ်ဆောင်ချက်ကို သင်အသုံးပြုသောအခါတွင်၊ သင်အသုံးပြုနေသည့်ဒေတာဘောင်ရှိ ကော်လံတစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသောကော်လံများသည် ဂဏန်းမကိန်းသည့်အခါတွင် ဤအမှားသည် ပုံမှန်အားဖြင့် ဖြစ်ပေါ်ပါသည်။
ဤအမှားကိုဖြေရှင်းရန် နည်းလမ်းနှစ်ခုရှိသည်။
နည်းလမ်း 1- ဂဏန်းမဟုတ်သောကော်လံများကို ဂဏန်းကော်လံများအဖြစ် ပြောင်းပါ။
နည်းလမ်း 2- ဒေတာဘောင်မှ ဂဏန်းမဟုတ်သောကော်လံများကို ဖယ်ရှားပါ။
အောက်ဖော်ပြပါ ဥပမာများသည် နည်းလမ်းတစ်ခုစီကို လက်တွေ့အသုံးချနည်းကို ပြသထားသည်။
အမှားကို ဘယ်လိုပြန်ထုတ်မလဲ။
စာလုံးကော်လံပါရှိသော အောက်ပါဒေတာဘောင်တွင် အဓိကအစိတ်အပိုင်းခွဲခြမ်းစိတ်ဖြာရန် ကျွန်ုပ်တို့ကြိုးစားနေသည်ဆိုပါစို့။
#create data frame
df <- data. frame (team=c('A', 'A', 'C', 'B', 'C', 'B', 'B', 'C', 'A'),
points=c(12, 8, 26, 25, 38, 30, 24, 24, 15),
rebounds=c(10, 4, 5, 5, 4, 3, 8, 18, 22))
#view data frame
df
team points rebounds
1 to 12 10
2 to 8 4
3 C 26 5
4 B 25 5
5 C 38 4
6 B 30 3
7 B 24 8
8 C 24 18
9 to 15 22
#attempt to calculate principal components
prcomp(df)
Error in colMeans(x, na.rm = TRUE): 'x' must be numeric
အဖွဲ့ ကော်လံသည် prcomp() လုပ်ဆောင်ချက်ကို အသုံးပြုသည့်အခါ အမှားအယွင်းဖြစ်စေသည့် ဇာတ်ကောင်ကော်လံဖြစ်သည်။
နည်းလမ်း 1- ဂဏန်းမဟုတ်သောကော်လံများကို ဂဏန်းကော်လံများအဖြစ် ပြောင်းပါ။
ဤအမှားကို ရှောင်ရှားရန် နည်းလမ်းတစ်ခုမှာ prcomp() လုပ်ဆောင်ချက်ကို အသုံးမပြုမီ အသင်း ကော်လံကို ကိန်းဂဏန်းကော်လံအဖြစ် ပြောင်းလဲရန်ဖြစ်သည်-
#convert character column to numeric
df$team <- as. numeric (as. factor (df$team))
#view updated data frame
df
team points rebounds
1 1 12 10
2 1 8 4
3 3 26 5
4 2 25 5
5 3 38 4
6 2 30 3
7 2 24 8
8 3 24 18
9 1 15 22
#calculate main components
prcomp(df)
Standard deviations (1, .., p=3):
[1] 9.8252704 6.0990235 0.4880538
Rotation (nxk) = (3 x 3):
PC1 PC2 PC3
team -0.06810285 0.04199272 0.99679417
points -0.91850806 0.38741460 -0.07907512
rebounds 0.38949319 0.92094872 -0.01218661
ဒေတာဘောင်ရှိ ကော်လံတစ်ခုစီသည် ဂဏန်းများဖြစ်သောကြောင့် ယခုတစ်ကြိမ်တွင် မည်သည့်အမှားအယွင်းမှ မရရှိပါ။
နည်းလမ်း 2- ဒေတာဘောင်မှ ဂဏန်းမဟုတ်သောကော်လံများကို ဖယ်ရှားပါ။
အမှားကိုရှောင်ရှားရန် အခြားနည်းလမ်းမှာ prcomp() လုပ်ဆောင်ချက်ကို အသုံးမပြုမီ ဒေတာဘောင်မှ ဂဏန်းမဟုတ်သောကော်လံများအားလုံးကို ဖယ်ရှားရန်ဖြစ်သည် ။
#remove non-numeric columns from data frame
df_new <- df[ , unlist(lapply(df, is. numeric ))]
#view new data frame
df_new
rebound points
1 12 10
2 8 4
3 26 5
4 25 5
5 38 4
6 30 3
7 24 8
8 24 18
9 15 22
#calculate main components
prcomp(df_new)
Standard deviations (1, .., p=2):
[1] 9.802541 6.093638
Rotation (nxk) = (2 x 2):
PC1 PC2
points 0.9199431 0.3920519
rebounds -0.3920519 0.9199431
တစ်ဖန်၊ ဒေတာဘောင်ရှိ ကော်လံတစ်ခုစီသည် ကိန်းဂဏာန်းဖြစ်သောကြောင့် ကျွန်ုပ်တို့သည် မည်သည့်အမှားအယွင်းမှ မရရှိပါ။
မှတ်ချက် – ကိစ္စအများစုတွင်၊ အချို့သောကော်လံများကို ဖယ်ရှားခြင်းထက် ဒေတာအားလုံးကို အသုံးပြုသောကြောင့် ပထမနည်းလမ်းမှာ ဦးစားပေးဖြေရှင်းချက်ဖြစ်သည်။
ထပ်လောင်းအရင်းအမြစ်များ
အောက်ဖော်ပြပါ သင်ခန်းစာများသည် R တွင် အခြားသော ဘုံအမှားများကို မည်သို့ပြင်ဆင်ရမည်ကို ရှင်းပြထားပါသည်။
R- အကြောင်းပြချက်များတွင် ကွဲပြားသော လိုင်းနံပါတ်များ ပါဝင်ပါသည်။
R တွင် အသုံးမပြုသော အငြင်းအခုံများကို ရွေးချယ်ရာတွင် အမှားပြင်ဆင်နည်း
R တွင် ပြုပြင်နည်း- အစားထိုးမှုမှာ သုညအရှည်ရှိသည်။