Calm Hill My Random Thoughts

R Version Upgrade and Installed Packages

Mac ပေါ်မှာ R ကို Install လုပ်တာမှာ Homebrew သုံးပြီး Install လုပ်လိုက်တာ အလွယ်ဆုံးနဲ့ အဆင်အပြေဆုံးပဲ တခုပဲခက်တာက R မှာက Third-party packages တွေမှမသုံးရင် မူရင်းပါလာတာမှာ ဘာမှကိုရေရေရာရာ လုပ်လို့မရသလောက်ပဲ ကိုယ်သုံးနေကျ packages တွေကို install လုပ်ထားဖို့လိုတယ်။ Data Mining အတန်းပြီးကတည်းက အတော်လေး ပင်ပန်းသွားပြီး ဘာမှမလုပ်ပဲ အဆက်ပြတ်နေရာက လုပ်စရာတခုပေါ်တာနဲ့ R ကိုပြန်သုံးဖို့ အကြောင်းပေါ်တယ် မသုံးခင်မှာ အကျင့်ပါနေတော့ R Version ကို homebrew နဲ့ brew upgrade ဆိုပြီးလုပ်လိုက်တဲ့အပြင် cleanup ပါလုပ်ချလိုက်တယ်။

အဲလောက်ကို အဆင်ပြေလွန်းတော့လည်း ပြဿနာတက်တယ် homebrew နဲ့ install လုပ်ထားတဲ့ R မှာ packages တွေဟာ minor version နဲ့ install လုပ်တယ် 3.1.1, 3.1.2, … စသည်ဖြင့်ဆိုရင် minor version က 3.1 ဖြစ်တော့ .libPaths() ခေါ်ကြည့်ရင် /usr/local/lib/R/3.1/site-library စသည်ဖြင့်အောက်မှာ Install လုပ်ပေးတယ် minor version တူရင် upgrade လုပ်လို့ရတယ် maintenance version ပဲပြောင်းတဲ့ 3.1.1 ကနေ 3.1.2 ဆိုတာမျိုးကို upgrade လုပ်ရင်ဘာမှမဖြစ်ဘူး။

ကံဆိုးချင်တော့ မသုံးတာကြာတော့ 3.1 သုံးနေတာ သတိမထားမိပဲ 3.2 ပြောင်းတာကို upgrade လုပ်ချလိုက်တာ cleanup ပါလုပ်ချလိုက်တော့ အကုန်ပါသွားလေတော့ ဘယ် packages တွေကို install လုပ်ထားမိမှန်းလည်း များလွန်းတော့မမှတ်မိ ရေးပြီးသား script တွေ run ကြည့်လိုက် error တက်လာလိုက် ပျောက်နေတာလေးတွေ install ပြန်လုပ်လိုက်နဲ့ နာရီဝက်နဲ့ပြီးရမယ့် ကိစ္စတွေကို ၁ နာရီလည်းမပြီး ၂ နာရီလည်းမပြီး အတော်လေး စိတ်လေသွားတယ် မဖြစ်သေးဘူးဆိုပြီး နောက်တခါမေ့လည်း packages တွေပါမသွားအောင် ကြံထားဖန်ထားရတော့တယ်။

အလွယ်ဆုံးနည်းက Home directory ထဲမှာ ဒါမှမဟုတ် တခြား Users တွေနဲ့ Share ဖို့လိုတယ်ဆိုလည်း တနေရာရာမှာ Install လုပ်ပြီးတော့ libPaths မှာ configure လုပ်ထားရင်ရတယ်။ ကိုယ့်စက်ဆိုတော့ ကိုယ့်တယောက်ထဲသုံးတော့ သိပ်ပူစရာမရှိဘူး Home Directory အောက်မှာ .R ဆိုပြီး Directory တခု Create လုပ် အဲဒီအထဲမှာ packages ဆိုပြီး Directory တခုကို R Packages တွေ Install လုပ်ဖို့ထားလိုက်တယ်။ R Console ကိုဖွင့်တိုင်း .libPaths() ထဲကို Packages တွေ Install လုပ်ထားတဲ့ Directory ကို Configure လုပ်ဖို့မလိုအောင် ~/.Rprofile ထဲမှာ .libPaths(“~/.R/packages”) ဆိုပြီး ထည့်ထားလိုက်ရင်ရပြီ။

comments powered by Disqus