2018年4月27日 星期五

R讀取excel檔案

在R裡面要讀取Excel的資料表,可以直接用gdata套件,指令如下:
  1. install.packages("gdata")
  2. require("gdata") 
  3. df <- read.xls("excel.xls", sheet=1, header=T) 
  4. sapply(df, summary)
前面1,2行指令是安裝與使用gdata套件
第3行讀取這個檔案的第1個table,第4行看內容摘要

在下面的參考資料裡面,其實還有更多的套件可以使用,像是:RODBC, xlsReadWrite, XLConnect, xlsx等等,在這邊選用gdata是因為它支援Mac, Linux, Windows,但因為需要用到Perl,所以Windows必須要另外安裝Perl


參考資料

_EOF_

2018年4月26日 星期四

R Documentation與Quick-R

RDocumentation是個專門介紹R指令與套件的網站,關鍵字導向
  • 直接輸入關鍵字,然後搜尋
  • Task View搜尋相關的套件

Quick-R則是範例導向,找到相關的主題看怎麼使用:
  • Basic Statistics:像是regression, ANOVA/ANCOVA/MANCOVA, power analysis等
  • Advanced Statistics:像是predictive models, latent variable models, partitioning methods或machine learning
  • Graphs:簡單的繪圖,像是dot plots, bar plots, line charts, pie charts, boxplots, scatterplots
  • Advanced Graphs:進階的繪圖,像是ggplot2, probability plots, mosaic plots, correlograms到interacting with graphs
_EOF_

2018年4月25日 星期三

ClusterDesign.org

ClusterDesign.orgKonstantin S. Solnushkin博士的關於high-performance computing(HPC)議題的部落格,專注在網路架構與效能模式的探討。


這個部落格有下面幾個使用方式:
  • 根據右手邊的Tags找關鍵字,列出相關主題的文章
  • 根據右手邊的Archives,依序閱讀
  • 使用上面的選單,根據主題找文章

2018年4月24日 星期二

R做One-Way ANOVA

One-Way Analysis of Variance,簡稱One-Way ANOVA。使用在當解釋變數為類別型(categorical)的時候,判斷不同類別的平均數(mean)是不是一樣對於每一個類別這個模式約可寫成:
  • y = u + e
而One-Way ANOVA就是在檢定下面的虛無假設是否成立:
  • u1 = u2 = ... = uk

下面用InsectSprays這個資料集來做One-Way ANOVA,也就是看使用不同殺蟲劑(類別型解釋變數),對於蟲子殘留數量的平均數是不是有影響:

2018年4月23日 星期一

HPCCHINA

這個部落格介紹關於超級電腦的處理器架構與網路架構,與一些處理的問題。2017三月到五月發表了五篇文章,然後就消失了,但這五篇文章給了許多有趣的訊息。以下就是這五篇文章:
_EOF_

2018年4月21日 星期六

2018年4月20日 星期五

R預設的資料集ChickWeight

R語言內建的資料集ChickWeight記錄了雞隻在不同的飼料飼養環境下體重的不同。總共有578筆資料,每筆資料分成四個欄位:
  • weight:體重,單位是公克
  • Time:出生後幾天測量體重
  • Chick:每一隻雞的編號,總共有50隻編號從1到50
  • Diet:四種不同的蛋白質飼料環境,1, 2, 3, 4
藍色是影響體重的解釋變數,綠色的體重是應變數

2018年4月19日 星期四

R語言使用tapply做分組統計

在R裡面,對一個資料表的數據要做分組統計,可以接用tapply(R語言的apply家族其中之一)。以下用InsectSprays資料集作為例子。這個InsectSprays資料集只有兩個欄位:
  • spray:使用的殺蟲劑
  • count:使用完殺蟲劑後蟲子的數目
在此只要用tapply,就可以自動根據殺蟲劑分組,做蟲子數目的統計:
  • 計算平均數:tapply(InsectSprays$count, InsectSprays$spray, mean)
  • 計算中位數:tapply(InsectSprays$count, InsectSprays$spray, median)
  • 蟲子數目的統計量:
    tapply(InsectSprays$count, InsectSprays$spray, summary)
第三個欄位是作用在第一個欄位的函數,第二個欄位則是分組個依據

2018年4月18日 星期三

R預設的資料集InsectSprays

這個InsectSprays資料集,含有72筆資料,每筆有下面兩個欄位:
  • count:蟲子出現的個數
  • spray:使用的殺蟲劑,分成A, B, C, D, E, F
資料來源是 Beall, G., (1942) The Transformation of data from entomological field experiments, Biometrika, 29, 243–262.

2018年4月17日 星期二

R的預設資料集DNase

R裡面預設的資料集Elisa assay of DNase,簡稱DNase。這個資料集記錄了大鼠血清裡面的重組蛋白質DNase(recombinant protein DNase),總共有176筆資料、分成三個欄位:
  • Run:重複了幾次的測試。這邊總共跑了11個run,每個run裡面都有16筆資料,所以資料總數是16*11=176
  • concDNase的濃度,是實驗的自變數。每個run裡面同一個濃度都有二次重複,固定了八種濃度,所以每個run的資料數目是2*8=16筆
  • density用ELISA測出來的光學強度,是實驗的應變數

2018年4月16日 星期一

畫譜系圖Pedigree Plot的軟體

不知道譜系圖的,先看一下這部關於薔薇戰爭的說明影片
 
裡面的人物關係可以用譜系圖畫出來:
圖片來自dreadpiratemama
以上圖片來自Henry VI, Part II in dreadpiratemama

2018年4月13日 星期五

Telegram開啟點對點加密通訊

Telegram這套通訊軟體預設並不是點對點加密(End-to-End Encryption),必須要用下面的步驟開啟:
  1. 首頁找到"Chat"
  2. 點上面"Chats"右邊加入新的聊天室
  3. 選取"New Secret Chat"
這樣開啟的聊天就會是點對點加密,但有下面幾個特性:

2018年4月12日 星期四

十字路口的車流模擬

Traffic flow measured on 30 different 4-way junctions
三十種不同的路口設計並模擬四個方向的車流


2018年4月11日 星期三

R預設的資料集CO2

在R語言裡面有個資料集(dataset)叫「Carbon Dioxide Uptake in Grass Plants」,此資料集的變數名稱叫CO2,記錄了Echinochloa crus-galli的二氧化碳攝取量。
CO2總共有84筆資料,用下面5個特徵分:
  • Plant:採集的Echinochloa crus-galli,分成12類
  • Type:從哪邊採集的,分成兩類QuebecMississippi 
  • Treatment:在做實驗前一晚有沒有冷凍,分成兩類nonchilledchilled
  • conc:環境的二氧化碳濃度,單位是mL/L
  • uptake:植物吸收的二氧化碳速率,單位是μmol/m^2 sec

2018年4月10日 星期二

使用wget備份網頁或是FTP的目錄

要使用GNU wget備份某個網頁,指令如下:
  • wget -m -c -w 10 --random-wait -nH --cut-dirs=1 http://domainName/a/b/c/d/
上面每個參數的意思分別是:
  • -m--mirror,將整個資料夾下面的東西遞迴地抓回來
  • -c--continue,續傳,若之前有抓過的就不再抓
  • -w seconds--wait=seconds,每要抓下一個等幾秒鐘
  • --random-wait:前面等待的秒數*0.5 - 1.5,不要那麼死板
  • -nH--no-host-directories,,不要把路徑都寫下來
    • -nH --cut-dirs=1:上述的例子就是到d這個資料夾
    • -nH --cut-dirs=2:上述的例子就是到d下面的檔案而沒有d
_EOF_

2018年4月9日 星期一

2018年4月6日 星期五

R套件裡面的資料集

除了內建的資料集(datasets),載入套件(packages)時有些套件也會有自己的資料集。用下面的指令可以列出所有安裝套件的資料集,或是特定套件的資料集:
  • data(package = .packages(all.available = TRUE))
  • data(package="ggplot2")
上面可以看到有哪些資料集,但如果要使用則必須要先載入套件,然後才能使用資料集:
  • library(ggplot2)
  • help(msleep)
此兩個指令先載入ggplot2套件,然後看msleep的內容(An updated and expanded version of the mammals sleep dataset)

_EOF_

2018年4月5日 星期四

R內建的資料集datasets

R內建了一些資料集(datasets),用下面指令可以看:
  • data()
這個data()會輸出一個list,如下:
  • d <- data()
  • mode(d)
    "list"
  • names(d)
    "title"   "header"  "results" "footer"
  • str(d)
  • r <- as.data.frame(d$results)
  • write.csv(r, file="datasets.csv")

2018年4月4日 星期三

《ProDy》分析蛋白質序列與動態

《ProDy》是套自由且開源的Python套件,用來做Protein Dynamics & Sequence Analysis。從首頁進去有下面幾個大的主題:

2018年4月3日 星期二

用Python-3.6.5安裝ProDy-1.9.4

ProDy是一套分析蛋白質動態的軟體。首先《安裝Python-3.6.5到macOS Sierra》。然後用PyPI安裝一些ProDy需要的套件:
  • sudo pip3 install numpy
  • sudo pip3 install scipy
  • sudo pip3 install matplotlib
  • sudo pip3 install biopython
都安裝好以後,然後開始安裝ProDy-1.9.4:
  1. wget https://files.pythonhosted.org/packages/fe/c8/5c8642fd6630f6fe8d3bbca13c3d5f899732893762fa0d114fe863b90cf1/ProDy-1.9.4.tar.gz
  2. shasum -a 256 ProDy-1.9.4.tar.gz
    37a9777c36f49afad1842a59df20f7d5cd735b5500273d42c2988fdbf5391cb7  ProDy-1.9.4.tar.gz
  3. tar zxf ProDy-1.9.4.tar.gz && cd ProDy-1.9.4
  4. python3 setup.py build
  5. sudo python3 setup.py install

2018年4月2日 星期一

安裝Python-3.6.5到macOS Sierra

參考《Python Releases for Mac OS X》,將Python 3.6.5安裝在macOS Sierra(10.12.6)。下載並安裝Python 3.6.5:
  1. wget https://www.python.org/ftp/python/3.6.5/python-3.6.5-macosx10.9.pkg
  2. md5 python-3.6.5-macosx10.9.pkg
    MD5 (python-3.6.5-macosx10.9.pkg) = 37d891988b6aeedd7f03a70171a8420d
  3. open python-3.6.5-macosx10.9.pkg
第3步也可以用滑鼠點兩下python-3.6.5-macosx10.9.pkg,然後按照說明安裝,最後的東西都會放在tree /Applications/Python\ 3.6 與"/Library/Frameworks/Python.framework/Versions/3.6/ 這兩個資料夾中。
  1. open /Applications/Python\ 3.6/
  2. 點兩下 Install Certificates.command
  3. 點兩下 Update Shell Profile.command