DALS001-數(shù)據(jù)準(zhǔn)備(Getting Started)


title: DALS001-數(shù)據(jù)準(zhǔn)備(Getting Started)
date: 2019-07-21 12:0:00
type: "tags"
tags:

  • R包
    categories:
  • 生物統(tǒng)計(jì)

前言

本書是《Data Analysis for the Life Sciences》這本書的讀書筆記。

image

此書一共分了10部分客扎,分別為:

  • 數(shù)據(jù)準(zhǔn)備(Getting Started)
  • 統(tǒng)計(jì)推斷(Inference)
  • 數(shù)據(jù)挖掘(Exploratory Data Analysis)
  • 矩陣代數(shù)(Matrix Algebra)
  • 線性模型(Linear Models)
  • 高維數(shù)據(jù)推斷(Inference For high Dimensional Data)
  • 統(tǒng)計(jì)模型(Statistical Models)
  • 距離與降低(Distance and Dimension Reduction)
  • 基礎(chǔ)機(jī)器學(xué)習(xí)(Basic Machine Learning)
  • 批次效應(yīng)(Batch Effects)

由于這本書是為生命科學(xué)相關(guān)專業(yè)而寫的锋华,考慮到相關(guān)專業(yè)學(xué)生數(shù)理功底太弱柜与,書中并沒涉及很復(fù)雜的數(shù)學(xué)與統(tǒng)計(jì)學(xué)知識(shí),還是很好理解的凯亮。

R語言包與原始數(shù)據(jù)準(zhǔn)備

這本書中涉及到的統(tǒng)計(jì)學(xué)原理與案例分析都是通過R語言實(shí)現(xiàn)的朱嘴,作者也把相應(yīng)的腳本與數(shù)據(jù)放到了Github上。

這里先安裝幾個(gè)R包贝搁,如下所示:

library(devtools)
install_github("genomicsclass/dagdata")
dir <- system.file(package = "dagdata")
list.files(dir)

加載原始數(shù)據(jù) ,如下所示:

> dir <- system.file(package = "dagdata")
> list.files(dir)
[1] "data"        "DESCRIPTION" "extdata"     "help"        "html"        "Meta"       
[7] "NAMESPACE"   "script"   

上面的代碼使用了到幾個(gè)包與命令衡瓶,其中devtool包中的install_github()函數(shù)用于直接從Github下載相應(yīng)包徘公,以前的筆記中已經(jīng)說明了這個(gè)包的用法《R語言筆記之包的操作與內(nèi)置數(shù)據(jù)集》

另外還有兩個(gè)函數(shù)哮针,其中system.file()函數(shù)的功能是:發(fā)現(xiàn)包的完整路徑名,例如上面的變量dir的輸出就是如下所示:

> dir
[1] "C:/Users/20161111/Documents/R/win-library/3.5/dagdata"

list.files()函數(shù)的功能是列出相應(yīng)路徑下的文件坦袍,如下所示:

> list.files(dir)
[1] "data"        "DESCRIPTION" "extdata"     "help"        "html"        "Meta"       
[7] "NAMESPACE"   "script" 

使用list.files()函數(shù)還能繼續(xù)列舉出目錄下一層目錄中的內(nèi)容十厢,例如現(xiàn)在我們列出extdata這個(gè)目錄中的內(nèi)容,如下所示:

> list.files(file.path(dir,"extdata"))
[1] "admissions.csv"               "astronomicalunit.csv"        
[3] "babies.txt"                   "femaleControlsPopulation.csv"
[5] "femaleMiceWeights.csv"        "mice_pheno.csv"              
[7] "msleep_ggplot2.csv"           "README"                      
[9] "spider_wolff_gorb_2013.csv" 

其中這里面用到file.path()函數(shù)捂齐,它的功能是將字符串連接起來蛮放,形成路徑,如下所示:

> file.path(dir,"extdata")
[1] "C:/Users/20161111/Documents/R/win-library/3.5/dagdata/extdata"

現(xiàn)在加載原始數(shù)據(jù)奠宜,如下所示:

filename <- file.path(dir,"extdata/femaleMiceWeights.csv")
dat <- read.csv(filename)
# input raw data
head(dat)
str(dat)

數(shù)據(jù)如下所示:

> head(dat)
  Diet Bodyweight
1 chow      21.51
2 chow      28.14
3 chow      24.04
4 chow      23.45
5 chow      23.68
6 chow      19.79
> str(dat)
'data.frame':   24 obs. of  2 variables:
 $ Diet      : Factor w/ 2 levels "chow","hf": 1 1 1 1 1 1 1 1 1 1 ...
 $ Bodyweight: num  21.5 28.1 24 23.4 23.7 ...

從數(shù)據(jù)我們可以知道包颁,這是一個(gè)數(shù)據(jù)框瞻想,有2列,第1列是小鼠的包含情況娩嚼,分別是chow(正常組),hf(高脂組蘑险,就是high fat的縮寫),第2列的體重岳悟,從常識(shí)可以知道佃迄,單位是g(一只標(biāo)準(zhǔn)的小鼠體重是18-22g)。

以上是原始數(shù)據(jù)的下載過程贵少,涉及到的知識(shí)點(diǎn)為:R包的下載與加載呵俏,另外,也可以通過downloader包來下載原始數(shù)據(jù)滔灶,整個(gè)操作如下所示:

install.packages("downloader")
url <- "https://raw.githubusercontent.com/genomicsclass/dagdata/master/inst/extd\
ata/femaleMiceWeights.csv"
filename <- "femaleMiceWeights.csv"
download(url, destfile=filename)

這一過程不再演示普碎,跟前面的目的是一樣,都是下載原始數(shù)據(jù)录平。

有了原始數(shù)據(jù)后麻车,現(xiàn)在過程一下數(shù)據(jù),我們捏造chow組的小鼠數(shù)據(jù)萄涯,如下所示:

library(dplyr)
chow <- filter(dat, Diet =="chow")
# Extract chow gropu from raw data of dat 
head(chow)
str(chow)

結(jié)果如下所示:

> chow <- filter(dat, Diet =="chow")
> str(chow)
'data.frame':   12 obs. of  2 variables:
 $ Diet      : Factor w/ 2 levels "chow","hf": 1 1 1 1 1 1 1 1 1 1 ...
 $ Bodyweight: num  21.5 28.1 24 23.4 23.7 ...

僅提取chow組的體重绪氛,如下所示:

chowVals <- select(chow, Bodyweight)
head(chowVals)
str(chowVals)

結(jié)果如下所示:

> head(chowVals)
  Bodyweight
1      21.51
2      28.14
3      24.04
4      23.45
5      23.68
6      19.79
> str(chowVals)
'data.frame':   12 obs. of  1 variable:
 $ Bodyweight: num  21.5 28.1 24 23.4 23.7 ...
> class(chowVals)
[1] "data.frame"
> # OR perform as following:
> # chowVals <- filter(dat, Diet=="chow") %>% select(Bodyweight)

從上面結(jié)果可以看出來,chowVals是一個(gè)數(shù)據(jù)框涝影,現(xiàn)在我們將其轉(zhuǎn)換為數(shù)字向量:

chowVals <- unlist(chowVals)
str(chowVals)
class(chowVals)

如下所示:

> str(chowVals)
 Named num [1:12] 21.5 28.1 24 23.4 23.7 ...
 - attr(*, "names")= chr [1:12] "Bodyweight1" "Bodyweight2" "Bodyweight3" "Bodyweight4" ...
> class(chowVals)
[1] "numeric"

數(shù)學(xué)術(shù)語與符號(hào)

作者在書中提到枣察,他會(huì)盡量避免使用數(shù)學(xué)術(shù)語與數(shù)學(xué)符號(hào),但是燃逻,有一些太常見的數(shù)據(jù)符號(hào)是大家常見的序目,需要知道。

希臘字母

\sum是希臘字母中的S的寫法伯襟,表示相加猿涨,例如S=\sum_{i=1}^{n} x_{i}

\mu表示未知無數(shù),相當(dāng)于m姆怪,即mean叛赚;

\sigma表示標(biāo)準(zhǔn)差,相當(dāng)于s稽揭,即standard difference俺附;

\epsilon表示隨機(jī)誤差,相當(dāng)于error溪掀;

\beta表示效應(yīng)事镣,即effect。

無窮(Infinity)

書中指出揪胃,我們經(jīng)常使用的統(tǒng)計(jì)學(xué)結(jié)果是一種漸進(jìn)結(jié)果(asymptotic results)璃哟。這個(gè)漸進(jìn)結(jié)果指的是一種近似(approximation)氛琢,也就是說隨著數(shù)據(jù)點(diǎn)數(shù)目的增大,這個(gè)結(jié)果只能接近随闪,無法完全相等阳似,只有當(dāng)數(shù)據(jù)點(diǎn)的數(shù)目是無窮(\infty)時(shí),數(shù)字最接近蕴掏,看下面的一個(gè)案例:

> onethird <- function(n) sum(3/10^c(1:n))
> 1/3 - onethird(4)
[1] 3.333333e-05
> 1/3 - onethird(10)
[1] 3.333334e-11
> 1/3 - onethird(16)
[1] 0

在這個(gè)案例中障般,我們就看到了,0.3的1到n次方的和是接近1/3的盛杰。

積分(Integrals)

積分在統(tǒng)計(jì)學(xué)也是比較常用的一個(gè)手段挽荡,有的時(shí)候要計(jì)算某個(gè)統(tǒng)計(jì)學(xué)分布的概率分布例如下面的這個(gè)曲線:

image

這個(gè)曲線是一個(gè)概率密度曲線,右下角的灰色面積占整個(gè)曲線下面積的比例即供,就是相應(yīng)的概率(后面會(huì)講)定拟,那么通過積分的手段來計(jì)算面積的分公式就是:
\int_{2}^{4} f(x) d x

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市逗嫡,隨后出現(xiàn)的幾起案子青自,更是在濱河造成了極大的恐慌,老刑警劉巖驱证,帶你破解...
    沈念sama閱讀 206,013評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件延窜,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡抹锄,警方通過查閱死者的電腦和手機(jī)逆瑞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來伙单,“玉大人获高,你說我怎么就攤上這事∥怯” “怎么了念秧?”我有些...
    開封第一講書人閱讀 152,370評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)布疼。 經(jīng)常有香客問我摊趾,道長(zhǎng),這世上最難降的妖魔是什么游两? 我笑而不...
    開封第一講書人閱讀 55,168評(píng)論 1 278
  • 正文 為了忘掉前任严就,我火速辦了婚禮,結(jié)果婚禮上器罐,老公的妹妹穿的比我還像新娘。我一直安慰自己渐行,他們只是感情好轰坊,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,153評(píng)論 5 371
  • 文/花漫 我一把揭開白布铸董。 她就那樣靜靜地躺著,像睡著了一般肴沫。 火紅的嫁衣襯著肌膚如雪粟害。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,954評(píng)論 1 283
  • 那天颤芬,我揣著相機(jī)與錄音悲幅,去河邊找鬼。 笑死站蝠,一個(gè)胖子當(dāng)著我的面吹牛汰具,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播菱魔,決...
    沈念sama閱讀 38,271評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼留荔,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了澜倦?” 一聲冷哼從身側(cè)響起聚蝶,我...
    開封第一講書人閱讀 36,916評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎藻治,沒想到半個(gè)月后碘勉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,382評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡桩卵,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,877評(píng)論 2 323
  • 正文 我和宋清朗相戀三年验靡,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吸占。...
    茶點(diǎn)故事閱讀 37,989評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡晴叨,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出矾屯,到底是詐尸還是另有隱情兼蕊,我是刑警寧澤,帶...
    沈念sama閱讀 33,624評(píng)論 4 322
  • 正文 年R本政府宣布件蚕,位于F島的核電站孙技,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏排作。R本人自食惡果不足惜牵啦,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,209評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望妄痪。 院中可真熱鬧哈雏,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,199評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至彭羹,卻和暖如春黄伊,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背派殷。 一陣腳步聲響...
    開封第一講書人閱讀 31,418評(píng)論 1 260
  • 我被黑心中介騙來泰國(guó)打工还最, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人毡惜。 一個(gè)月前我還...
    沈念sama閱讀 45,401評(píng)論 2 352
  • 正文 我出身青樓拓轻,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親虱黄。 傳聞我的和親對(duì)象是個(gè)殘疾皇子悦即,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,700評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容