2014年12月30日 星期二

R 環境設定相關語法

R 環境設定相關語法

以 windows 7 系統, R 3.1.2 為例子。


更改工具列的語系

  1. First, go to the "etc" folder under R program files folder.
  2. Then locate Rconsole file.
  3. Find the line "language = ", change it to "language = en" if you want to run R in English.
  4. Save the file.

例如:C:\Program Files\R\R-3.1.2\etc,裡頭的 Rconsole


更改系統時間為英文

先確認系統時間格式
Sys.getlocale("LC_TIME")
或者是
Sys.getlocale()

更改時間的顯示為 English
Sys.setlocale("LC_TIME", "English")

若全都要改為 enligh
Sys.setlocale("LC_ALL", "English")


顯示指令執行所花費的時間

利用 system.time() 這個指令,把要執行的指令放在( )中間,例如:

system.time(fread(file)) # 1.54 

system.time(read.table(file, header=TRUE, sep="\t"))  # 9.34

更新 r的版本,並所有package都會保留

  1. installing/loading the package:
    if(!require(installr)) { install.packages("installr"); require(installr)}

  2. using the package:
    updateR()

  3. 會接著檢查是否有新版本,接著提示語進行。

Source: installr-package


隱藏 print out 輸出到 console 裡

f1 <- function(x) x f2 <- function(x) invisible(x) f1(1) # prints f2(1) # does not


R MYSQL ,與 RMySQL package

環境 windows 7 64, R=3.1.2 64bit
必要軟體:
1. MYSQL server 5.6
2. Rtools
3. RMySQL package

步驟:
1. 安裝 MYSQL server 5.6,並找出安裝的目錄是在哪,例如:C:\Program Files\MySQL\MySQL Server 5.6\ ,步驟3會用到。
2. 安裝 Rtools,注意此頁的選項要勾

3. 設定 Renviron.site
在 C:\Program Files\R\R-3.1.2\etc\ 用 notepad 建立Renviron.site,並在該文件裡編輯輸入MYSQL_HOME=C:\Program Files\MySQL\MySQL Server 5.6\
4. 安裝RMySQL package
打開 R ,並執行install.packages('RMySQL',type='source')
應該會出現一大串訊息,其中會有一段類似以下
* installing *source* package 'RMySQL' ...
** package 'RMySQL' successfully unpacked and MD5 sums checked
** libs
rm -f RMySQL-init.o connection.o db-apply.o driver.o exception.o fields.o result.o utils.o
"C:/PROGRA~1/R/R-31~1.2/bin/x64/Rscript.exe" "../tools/winlibs.R"
** R
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
* DONE (RMySQL)
5. 最後確認
在R 執行 Sys.getenv('MYSQL_HOME') 應該會出現
[1] "C:Program FilesMySQLMySQL Server 5.6"

Source: RMySQL

2014年12月24日 星期三

各種「理論」__網路搜集

1、蝴蝶效應:上個世紀70年代,美國一個名叫洛倫茲的氣象學家在解釋空氣系統理論時說,亞馬遜雨林一隻蝴蝶翅膀偶爾振動,也許兩周後就會引起美國德克薩斯州的一場龍捲風。
蝴蝶效應是說,初始條件十分微小的變化經過不斷放大,對其未來狀態會造成極其巨大的差別。有些小事可以糊塗,有些小事如經系統放大,則對一個組織、一個國家來說是很重要的,就不能糊塗。

2、青蛙現象:把一隻青蛙直接放進熱水鍋裡,由於它對不良環境的反應十分敏感,就會迅速跳出鍋外。如果把一個青蛙放進冷水鍋裡,慢慢地加溫,青蛙並不會立即跳出鍋外,水溫逐漸提高的最終結局是青蛙被煮死了,因為等水溫高到青蛙無法忍受時,它已經來不及、或者說是沒有能力跳出鍋外了。
青蛙現象告訴我們,一些突變事件,往往容易引起人們的警覺,而易致人於死地的卻是在自我感覺良好的情況下,對實際情況的逐漸惡化,沒有清醒的察覺。

3、鱷魚法則:其原意是假定一隻鱷魚咬住你的腳,如果你用手去試圖掙脫你的腳,鱷魚便會同時咬住你的腳與手。你愈掙扎,就被咬住得越多。所以,萬一鱷魚咬住你的腳,你唯一的辦法就是犧牲一隻腳。
譬如在股市中,鱷魚法則就是:當你發現自己的交易背離了市場的方向,必須立即止損,不得有任何延誤,不得存有任何僥倖。

4、鯰魚效應:以前,沙丁魚在運輸過程中成活率很低。後有人發現,若在沙丁魚中放一條鯰魚,情況卻有所改觀,成活率會大大提高。這是何故呢?原來鯰魚在到了一個陌生的環境後,就會「性情急躁」,四處亂遊,這對於大量好靜的沙丁魚來說,無疑起到了攪拌作用;而沙丁魚發現多了這樣一個「異已分子」,自然也很緊張,加速遊動。這樣沙丁魚缺氧的問題就迎刃而解了,沙丁魚也就不會死了。

5、羊群效應:領頭羊往哪裡走,後面的羊就跟著往哪裡走。
羊群效應最早是股票投資中的一個術語,主要是指投資者在交易過程中存在學習與模仿現象,「有樣學樣」,盲目效仿別人,從而導致他們在某段時期內買賣相同的股票。

6、刺蝟法則:兩隻睏倦的刺蝟,由於寒冷而擁在一起。可因為各自身上都長著刺,於是它們離開了一段距離,但又冷得受不了,於是湊到一起。幾經折騰,兩隻刺蝟終於找到一個合適的距離:既能互相獲得對方的溫暖而又不至於被紮。
刺蝟法則主要是指人際交往中的「心理距離效應」。

7、手錶定律:手錶定律是指一個人有一隻表時,可以知道現在是幾點鐘,而當他同時擁有兩隻時卻無法確定。兩隻表並不能告訴一個人更準確的時間,反而會使看錶的人失去對準確時間的信心。
手錶定律在企業管理方面給我們一種非常直觀的啟發,就是對同一個人或同一個組織不能同時採用兩種不同的方法,不能同時設置兩個不同的目標,甚至每一個人不能由兩個人來同時指揮,否則將使這個企業或者個人無所適從。

8、破窗理論:一個房子如果窗戶破了,沒有人去修補,隔不久,其它的窗戶也會莫名其妙地被人打破;一面牆,如果出現一些塗鴉沒有被清洗掉,很快的,牆上就佈滿了亂七八糟、不堪入目的東西;一個很乾淨的地方,人們不好意思丟垃圾,但是一旦地上有垃圾出現之後,人就會毫不猶疑地拋,絲毫不覺羞愧。

9、二八定律(巴萊多定律):19世紀末20世紀初義大利的經濟學家巴萊多認為,在任何一組東西中,最重要的只佔其中一小部分,約20%,其餘80%儘管是多數,卻是次要的。社會約80%的財富集中在20%的人手裡,而80%的人只擁有20%的社會財富。這種統計的不平衡性在社會、經濟及生活中無處不在,這就是二八法則。
二八法則告訴我們,不要平均地分析、處理和看待問題,企業經營和管理中要抓住關鍵的少數;要找出那些能給企業帶來80%利潤、總量卻僅佔20%的關鍵客戶,加強服務,達到事半功倍的效果;企業領導人要對工作認真分類分析,要把主要精力花在解決主要問題、抓主要項目上。

10、木桶理論:組成木桶的木板如果長短不齊,那麼木桶的盛水量不是取決於最長的那一塊木板,而是取決於最短的那一塊木板。