言試題背后的數(shù)據(jù)思維:數(shù)據(jù)類型、對(duì)象結(jié)構(gòu)與統(tǒng)計(jì)基礎(chǔ))
簡(jiǎn)介這份《R試題附帶答案》文檔面向準(zhǔn)備R語(yǔ)言課程考試、面試復(fù)習(xí)或基礎(chǔ)自測(cè)的學(xué)習(xí)者以題目加答案解析的形式梳理描述性統(tǒng)計(jì)與推斷性統(tǒng)計(jì)、名義/有序/計(jì)數(shù)/計(jì)量數(shù)據(jù)類型以及工作目錄查看、head()、ls()、rm()等入門操作。內(nèi)容還覆蓋向量運(yùn)算、因子創(chuàng)建、矩陣構(gòu)造與索引、apply類函數(shù)應(yīng)用等常見考點(diǎn)每題附有答案便于對(duì)照排查知識(shí)盲區(qū)。壓縮包共1個(gè)docx文件約96KB輕量易取適合打印練習(xí)或在電腦端逐題核對(duì)。已有11252人學(xué)習(xí)下載說明其題目覆蓋面與解析方式具有一定參考價(jià)值。讀者可借此完成一次從概念辨析到代碼輸出的系統(tǒng)自測(cè)尤其適合考前快速過一遍基礎(chǔ)語(yǔ)法、函數(shù)返回值與易錯(cuò)細(xì)節(jié)也可作為課堂練習(xí)或復(fù)習(xí)提綱的補(bǔ)充材料。1. R語(yǔ)言試題到底在考什么一張卷子背后的一套數(shù)據(jù)思維學(xué)車前要考科目一全是選擇題很多人背完就忘覺得沒啥用。真上了路才發(fā)現(xiàn)那些看著死板的判斷題決定了你在路口會(huì)不會(huì)下意識(shí)踩錯(cuò)踏板。R語(yǔ)言試題也是這個(gè)性質(zhì)它不教你怎么寫出漂亮的分析腳本而是把「這段代碼為什么報(bào)錯(cuò)」「結(jié)果為什么和我手算的不一樣」拆成一道道選擇題逼你把判斷做對(duì)。這份資料是一套帶答案的R語(yǔ)言試題從最基礎(chǔ)的名詞描述性統(tǒng)計(jì)、推斷性統(tǒng)計(jì)、名義數(shù)據(jù)、計(jì)量數(shù)據(jù)一路考到R的對(duì)象結(jié)構(gòu)、控制流、自定義函數(shù)、描述性統(tǒng)計(jì)圖形、常見概率分布和參數(shù)估計(jì)。它值得花時(shí)間搞懂的理由很樸素R的報(bào)錯(cuò)絕大多數(shù)不是算法錯(cuò)而是類型判斷錯(cuò)、結(jié)構(gòu)判斷錯(cuò)、下標(biāo)算錯(cuò)——恰好就是卷子上反復(fù)出現(xiàn)的那幾個(gè)坑。2. 從「學(xué)歷」和「身高」說起四種數(shù)據(jù)類型為什么決定了后面所有操作2.1 名義、有序、計(jì)數(shù)、計(jì)量?jī)山M劃分先把數(shù)據(jù)分完統(tǒng)計(jì)學(xué)里給數(shù)據(jù)分類用的是兩刀切。第一刀切出「定性」和「定量」定性數(shù)據(jù)描述的是類別定量數(shù)據(jù)描述的是數(shù)量。第二刀再各自細(xì)分——定性數(shù)據(jù)分成名義數(shù)據(jù)和有序數(shù)據(jù)定量數(shù)據(jù)分成計(jì)數(shù)數(shù)據(jù)和計(jì)量數(shù)據(jù)。這套劃分聽著像背書其實(shí)每個(gè)名字都在回答一個(gè)問題這個(gè)數(shù)字能不能做算術(shù)。名義數(shù)據(jù)是最「弱」的一檔。它用數(shù)字或文字標(biāo)記身份但數(shù)字本身沒有大小含義。比如一家公司里1代表行政部、2代表財(cái)務(wù)部、3代表銷售部這里的1和3之間不存在「3比1多兩倍」這回事把三個(gè)部門編碼加起來等于6毫無意義。有序數(shù)據(jù)比它強(qiáng)一點(diǎn)類別之間有明確順序但相鄰兩檔之間的差距不一定相等比如滿意度分成「不滿意、一般、滿意」你知道滿意高于一般卻說不清高多少。計(jì)數(shù)數(shù)據(jù)是一顆一顆數(shù)出來的只能是整數(shù)比如某門店一天賣出的手機(jī)臺(tái)數(shù)、某路段一小時(shí)通過的車次。計(jì)量數(shù)據(jù)是量出來的可以有小數(shù)比如身高、體重、溫度。區(qū)分這兩個(gè)的辦法很直接問一句「這個(gè)數(shù)能不能出現(xiàn)0.5」。賣手機(jī)不能說賣了3.5臺(tái)但身高可以說1.75米。提示判斷數(shù)據(jù)類型時(shí)不要去糾結(jié)數(shù)字長(zhǎng)什么樣只問一句「對(duì)它做加減乘除有沒有現(xiàn)實(shí)意義」。有意義是定量沒意義是定性。2.2 為什么數(shù)據(jù)類型是R的「身份證」R在運(yùn)行時(shí)并不看你給變量起了什么名字它看的是這個(gè)對(duì)象身上掛著的類型標(biāo)記。同樣一個(gè)1存成數(shù)值就是數(shù)值存成字符就是字符兩者的行為完全不同數(shù)值能求和字符求和直接報(bào)錯(cuò)。這一點(diǎn)在試卷里有個(gè)特別典型的題x - 3 y - as.character(x) y is.numeric(y)運(yùn)行結(jié)果是[1] 3 [1] FALSE前半段輸出的3帶著引號(hào)說明它已經(jīng)是字符了后半段is.numeric()返回FALSE是在確認(rèn)這個(gè)事實(shí)。很多人會(huì)本能地覺得「3不就是數(shù)字嗎」這正是類型概念最容易絆人的地方——值看起來一樣身份已經(jīng)換了。轉(zhuǎn)換之后y 1會(huì)報(bào)錯(cuò)而不是得到4。理解了這層就能看懂試卷里另一道題為什么要考L - 3 5。是一個(gè)比較運(yùn)算符它不賦值數(shù)字只回答是或否所以L是邏輯變量值為FALSE。這里還藏著一個(gè)新手常踩的坑R里判斷相等用兩個(gè)等號(hào)一個(gè)等號(hào)是賦值。寫成L - 3 5直接就是語(yǔ)法錯(cuò)誤。2.3 描述性統(tǒng)計(jì)和推斷性統(tǒng)計(jì)一條線劃開兩半試卷第一題問「用圖或表描述數(shù)據(jù)屬于什么」答案是描述性統(tǒng)計(jì)。第二題緊接著問統(tǒng)計(jì)學(xué)分成哪兩部分答案是描述性統(tǒng)計(jì)和推斷性統(tǒng)計(jì)。這兩道題挨在一起不是湊數(shù)它們劃的是整門課的分界線。描述性統(tǒng)計(jì)做的事是把手上這堆數(shù)據(jù)壓縮成幾個(gè)能看懂的數(shù)字或圖形平均數(shù)、方差、頻數(shù)表、直方圖。它只對(duì)你手里的樣本負(fù)責(zé)不往外推。推斷性統(tǒng)計(jì)做的事正好相反它拿樣本去猜總體用一小部分信息去推未知的全貌代價(jià)是要承擔(dān)犯錯(cuò)的風(fēng)險(xiǎn)所以才有置信區(qū)間、顯著性水平這些概念的用武之地。打個(gè)比方描述性統(tǒng)計(jì)像體檢報(bào)告——血壓多少、心率多少白紙黑字寫清楚推斷性統(tǒng)計(jì)像醫(yī)生看完報(bào)告后說「你大概率沒什么問題」這句話有依據(jù)但不是百分之百確定。兩者用的是同一批數(shù)據(jù)承擔(dān)的責(zé)任完全不同。3. R的對(duì)象家族向量、矩陣、數(shù)組、列表、數(shù)據(jù)框到底差在哪3.1 向量R里最小的積木循環(huán)補(bǔ)齊是它的隱藏規(guī)則向量是同類型元素排成的一隊(duì)。R里幾乎所有運(yùn)算都是按向量設(shè)計(jì)的這也是它和很多語(yǔ)言最不一樣的地方——你寫c(1, 2, 3) * 2得到的是每個(gè)元素各乘2不需要寫循環(huán)。當(dāng)兩個(gè)長(zhǎng)度不同的向量做運(yùn)算時(shí)R會(huì)啟動(dòng)「循環(huán)補(bǔ)齊」短的自動(dòng)重復(fù)自己直到長(zhǎng)度對(duì)上。試卷里那道題就是在考這個(gè)c(1, 2, 3, 4, 5) c(20, 200) # 短向量循環(huán)成 20 200 20 200 20逐位相加 # 結(jié)果[1] 21 202 23 204 25注意這里沒有報(bào)錯(cuò)。R不會(huì)因?yàn)殚L(zhǎng)度不整除就停下來它只會(huì)給一條警告warning然后照算不誤。這個(gè)設(shè)計(jì)的初衷是方便做批量運(yùn)算可一旦你沒意識(shí)到它在補(bǔ)齊結(jié)果就會(huì)莫名其妙。比如你以為自己在做兩組的對(duì)應(yīng)相加實(shí)際上第二組被重復(fù)使用了兩遍半。真正會(huì)報(bào)錯(cuò)的情況是長(zhǎng)度不成整數(shù)倍比如長(zhǎng)度5加長(zhǎng)度25不是2的倍數(shù)R會(huì)給警告說長(zhǎng)的對(duì)象長(zhǎng)度不是短的對(duì)象長(zhǎng)度的倍數(shù)但仍然返回結(jié)果。要判斷代碼是不是踩了補(bǔ)齊最穩(wěn)的辦法是在關(guān)鍵步驟打印length()核對(duì)一下。3.2 矩陣與數(shù)組給向量加一層「格子」矩陣就是二維的、同類型的表格。R里創(chuàng)建矩陣最常用的函數(shù)是matrix()它有一個(gè)默認(rèn)行為必須記住按列填充。# 12個(gè)數(shù)3行默認(rèn)按列填 A - matrix(1:12, nrow 3) A # [,1] [,2] [,3] [,4] # [1,] 1 4 7 10 # [2,] 2 5 8 11 # [3,] 3 6 9 12如果想讓數(shù)字橫著排得顯式加一句byrow TRUE。這個(gè)參數(shù)是新手最容易漏的漏了之后矩陣轉(zhuǎn)置了卻渾然不覺后面所有取子集的操作全跟著錯(cuò)。試卷里有一道題問要生成上面這個(gè)矩陣可以用哪些寫法答案是array(1:12, c(3, 4))、A - 1:12; dim(A) - c(3, 4)、matrix(1:12, nrow 3)、matrix(1:12, nrow 3, ncol 4)、array(1:12, dim c(3, 4))全都行。這五個(gè)寫法之所以等價(jià)是因?yàn)樗鼈儽举|(zhì)上都在做同一件事——給一維的12個(gè)數(shù)掛上一個(gè)維度屬性。dim()不是創(chuàng)建新對(duì)象而是給已有對(duì)象貼標(biāo)簽貼完之后R就把它當(dāng)矩陣對(duì)待了。取子集用方括號(hào)加行列位置逗號(hào)左邊是行、右邊是列留空表示「全要」A[2:3, c(3, 4)] # 第2、3行 與 第3、4列交叉的部分 # [,1] [,2] # [1,] 8 11 # [2,] 9 12 A[, 1] # 第一列全部返回的是一個(gè)向量 # [1] 1 2 3這里的分寸感很重要只取一列時(shí)結(jié)果降維成向量不再是矩陣。想保住矩陣結(jié)構(gòu)得加drop FALSE。這個(gè)細(xì)節(jié)在后面做數(shù)據(jù)框操作時(shí)會(huì)反復(fù)出現(xiàn)。3.3 列表與數(shù)據(jù)框允許「混裝」的兩個(gè)盒子矩陣有個(gè)硬性要求所有元素類型一致??涩F(xiàn)實(shí)數(shù)據(jù)從來不是這樣的——一列是姓名字符一列是年齡數(shù)值一列是部門因子。這時(shí)候就需要能裝不同東西的容器。列表是最寬松的容器里面什么都能塞向量、矩陣、因子、甚至另一個(gè)列表。取元素用雙方括號(hào)[[ ]]取出來的是元素本身用單方括號(hào)[ ]取出來的還是一個(gè)列表。數(shù)據(jù)框本質(zhì)上就是一個(gè)被規(guī)整過的列表每一列是一個(gè)向量所有列長(zhǎng)度相等但列與列之間類型可以不同。這一點(diǎn)試卷里專門考過——矩陣要求元素類型一致數(shù)據(jù)框不要求因?yàn)樗牧斜举|(zhì)是向量一列內(nèi)類型一致就夠了列與列之間可以各管各的。這也是數(shù)據(jù)框能對(duì)應(yīng)現(xiàn)實(shí)表格的原因一列姓名、一列年齡、一列性別本來就該是不同類型。數(shù)據(jù)框還有個(gè)隱形福利它給每一列起了名字所以可以用列名訪問。df$Height、df[[Height]]、df[, Height]取出來都是向量而df[Height]取出來是只有一個(gè)列的數(shù)據(jù)框。差別看著小用錯(cuò)了后面全亂。3.4 索引取子集三種括號(hào)各管一件事R的括號(hào)長(zhǎng)得像分工很清楚()是調(diào)用函數(shù)和改變運(yùn)算優(yōu)先級(jí)[]是取子集[[]]是從容器里掏出元素本身。這三者在列表和數(shù)據(jù)框上體現(xiàn)得最明顯。還有一類下標(biāo)容易被忽略負(fù)號(hào)表示排除。v - 10:5 # 10 9 8 7 6 5 v[-c(1, 5)] # 排除第1個(gè)和第5個(gè)剩 9 8 7 5 v[-(1:5)] # 排除前5個(gè)只剩 5負(fù)下標(biāo)不能和正下標(biāo)混用比如v[c(1, -2)]會(huì)直接報(bào)錯(cuò)。這條規(guī)則在選擇題里出現(xiàn)頻率不低因?yàn)楹芏嗳藨{直覺以為負(fù)號(hào)是「倒著數(shù)」。另一個(gè)高頻點(diǎn)是which()它返回的不是值是位置。which(2:8 5)先把2:8逐個(gè)和5比得到一串FALSE FALSE FALSE FALSE TRUE TRUE TRUEwhich()再把這串邏輯值里TRUE的位置挑出來返回5 6 7。所以它的結(jié)果永遠(yuǎn)可以用來當(dāng)下標(biāo)v[which(...)]這種寫法就是這么來的。4. 常見誤區(qū)這些題看著像送分其實(shí)最容易翻車4.1 誤區(qū)一把編碼當(dāng)數(shù)字對(duì)名義數(shù)據(jù)求平均易混點(diǎn)部門編碼1、2、3學(xué)歷編碼1、2、3看著都是數(shù)字就直接mean()。為什么混數(shù)據(jù)錄入時(shí)為了省事類別全用數(shù)字代替存進(jìn)R里天然就是數(shù)值型。函數(shù)不會(huì)攔你它老老實(shí)實(shí)把1、2、3加起來除以3給你一個(gè)2——一個(gè)在現(xiàn)實(shí)中不存在的「平均部門」。怎么區(qū)分問自己這個(gè)數(shù)字做加法有沒有意義。沒有意義就必須在導(dǎo)入后立刻把它聲明成因子factor(x, levels c(1, 2, 3), labels c(行政部, 財(cái)務(wù)部, 銷售部))讓R知道這是分類不是量。聲明之后mean()會(huì)直接報(bào)warning并返回NA這就是R在替你踩剎車。4.2 誤區(qū)二以為df[Height]和df$Height是一回事易混點(diǎn)三種取法寫出來只差一兩個(gè)符號(hào)結(jié)果一個(gè)是向量一個(gè)是數(shù)據(jù)框。為什么混很多語(yǔ)言里「取一列」只有一種結(jié)果R卻給了兩條路而且都不報(bào)錯(cuò)只是結(jié)構(gòu)不同。等你把它傳給mean()或者h(yuǎn)ist()才發(fā)現(xiàn)一個(gè)正常一個(gè)報(bào)錯(cuò)。怎么區(qū)分記住方括號(hào)里帶逗號(hào)的、雙層的掏出來的是內(nèi)容本身單層方括號(hào)加列名切出來的仍是數(shù)據(jù)框的一片。判斷辦法是class()一下一眼就清楚。做圖、做計(jì)算用向量需要保留表格結(jié)構(gòu)往下傳比如merge、subset時(shí)用數(shù)據(jù)框。4.3 誤區(qū)三levels和labels當(dāng)成可有可無的裝飾易混點(diǎn)題目里「只想對(duì)1和2兩個(gè)部門做分類統(tǒng)計(jì)」選項(xiàng)里有的寫levels c(1, 2, 3)有的寫levels c(1, 2)。為什么混兩個(gè)參數(shù)都出現(xiàn)在factor()里看著像同義反復(fù)。怎么區(qū)分levels決定「哪些值算有效」labels決定「有效值顯示成什么名字」。寫levels c(1, 2)等于宣布3不是合法類別原本編碼為3的行會(huì)被悄悄變成NA——這一步不會(huì)報(bào)錯(cuò)只會(huì)在你統(tǒng)計(jì)總數(shù)時(shí)發(fā)現(xiàn)少了一批人。想保留三類只是顯示成兩個(gè)名字levels就得寫全三項(xiàng)。至于gl()那是專門用來生成規(guī)則因子序列的函數(shù)不是用來轉(zhuǎn)換已有數(shù)據(jù)的選項(xiàng)里拿它冒充factor()是最常見的干擾項(xiàng)。4.4 誤區(qū)四1:n-1和1:(n-1)分不清易混點(diǎn)冒號(hào)的優(yōu)先級(jí)高于減號(hào)1:n-1會(huì)被解析成(1:n) - 1。為什么混數(shù)學(xué)書寫習(xí)慣了「1到n-1」眼睛看到的就是這個(gè)意思可R不這么讀。當(dāng)n - 3時(shí)1:n-1先算出1 2 3再整體減1得到0 1 2開頭多了一個(gè)0。怎么區(qū)分凡是冒號(hào)后面跟運(yùn)算一律加括號(hào)。1:(n-1)才是想要的結(jié)果。這類錯(cuò)誤不會(huì)報(bào)錯(cuò)只會(huì)讓向量悄悄多一位或少一位然后在后續(xù)的下標(biāo)引用里引發(fā)一連串錯(cuò)位屬于典型的「當(dāng)時(shí)看不出來事后查半天」。4.5 誤區(qū)五四種平均數(shù)隨手抓一個(gè)用易混點(diǎn)算術(shù)、加權(quán)、幾何、調(diào)和四個(gè)都叫「平均數(shù)」。為什么混平時(shí)說「平均」默認(rèn)就是加起來除以個(gè)數(shù)可有些場(chǎng)景這么算出來是錯(cuò)的而且錯(cuò)得不明顯。怎么區(qū)分看分母是什么。分母是「?jìng)€(gè)數(shù)」用算術(shù)平均分母是「權(quán)重」股數(shù)、學(xué)分、占比用加權(quán)平均變化率連乘、增長(zhǎng)率求平均用幾何平均給出的是「每單位對(duì)應(yīng)的量」速度、單價(jià)而總量固定用調(diào)和平均。判斷口訣是先想清楚你平均的到底是「每一份」還是「每一次」。試卷里那道「前半段時(shí)速60、后半段時(shí)速30兩段距離相等」的題答案就是調(diào)和平均——因?yàn)闀r(shí)間是按距離反比分配的不能直接對(duì)兩個(gè)速度取算術(shù)平均。同一道題如果改成「前半段開1小時(shí)、后半段開1小時(shí)」那就變成算術(shù)平均了。注意R里求中位數(shù)的函數(shù)是median()不是media()。少一個(gè)字母就是「找不到函數(shù)」的報(bào)錯(cuò)考卷上把它寫成media()屬于典型筆誤實(shí)際敲代碼時(shí)卻真有人這么寫。5. 描述性統(tǒng)計(jì)與概率分布平均數(shù)不止一種分布也不止一種5.1 定性數(shù)據(jù)的兩套描述工具一張表、三張圖定性數(shù)據(jù)沒法求均值所以它的描述方式只有兩條路數(shù)頻數(shù)和畫圖。數(shù)頻數(shù)用table()它返回每個(gè)類別出現(xiàn)了多少次。想看占比就再套一層prop.table()dept - factor(c(行政, 財(cái)務(wù), 銷售, 行政, 行政, 財(cái)務(wù))) table(dept) # 各類別的絕對(duì)次數(shù) prop.table(table(dept)) # 各類別的相對(duì)占比加起來等于1圖形這邊有三樣條形圖barplot()、餅圖pie()、帕累托圖。前兩個(gè)好理解帕累托圖其實(shí)就是把條形圖按頻數(shù)從高到低排序再疊一條累計(jì)占比曲線——它背后的經(jīng)驗(yàn)法則是「少數(shù)類別貢獻(xiàn)了大部分?jǐn)?shù)量」用來快速找出重點(diǎn)。試卷里問定性數(shù)據(jù)的圖形有哪幾種答案就是條形圖、餅圖和帕累托圖對(duì)應(yīng)的函數(shù)是barplot()和pie()。5.2 定量數(shù)據(jù)的圖形三件套直方圖、莖葉圖、箱線圖定量數(shù)據(jù)可以畫的圖多得多但最基礎(chǔ)的是三個(gè)直方圖hist()看分布形狀莖葉圖stem()既看形狀又保留原始數(shù)值箱線圖boxplot()看中位數(shù)、四分位數(shù)和異常值。x - c(21, 8, 2, 5, 11) hist(x) # 分組看頻數(shù)分布 stem(x) # 文本形式保留每個(gè)原始值 boxplot(x) # 五數(shù)概括 離群點(diǎn)標(biāo)記三者的分工可以用一句話記住直方圖告訴你「數(shù)據(jù)堆在哪兒」莖葉圖告訴你「堆在那兒的到底是哪些數(shù)」箱線圖告訴你「有沒有人掉隊(duì)」。樣本量很小的時(shí)候莖葉圖尤其好用因?yàn)樗粊G信息樣本量上千之后莖葉圖會(huì)印滿屏幕那就該換直方圖了。5.3 四種平均數(shù)本質(zhì)是「誰(shuí)當(dāng)分母」的問題平均數(shù)的選擇不是數(shù)學(xué)游戲它取決于你手上拿的是什么口徑的數(shù)據(jù)。加權(quán)平均最常見總評(píng)成績(jī)就是典型平時(shí)占10%、實(shí)驗(yàn)作業(yè)占20%、期末占70%直接三項(xiàng)相加除以3是錯(cuò)的必須按權(quán)重乘完再除。股票的平均成本也是加權(quán)——買了1000股10元的、2000股15元的平均成本是(1000×10 2000×15) / 3000不是(1015)/2。后者的錯(cuò)誤在于把「股數(shù)」這個(gè)真實(shí)權(quán)重抹平了。幾何平均處理的是連乘關(guān)系。周一到周五的銷售目標(biāo)如果是在前一天基礎(chǔ)上分別增長(zhǎng)10%、12%、8%、11%、9%那平均增長(zhǎng)率不是把這五個(gè)百分比加起來除以5而是把它們各自加1之后連乘、再開5次方、最后減1。原因是增長(zhǎng)是疊在上一天的基礎(chǔ)上發(fā)生的加法在這里會(huì)高估。調(diào)和平均處理的是「固定總量下的單位量」。同樣花1元錢在三個(gè)市場(chǎng)買單價(jià)不同的水果問平均每千克多少錢答案是總錢數(shù)除以總重量而總重量是1/單價(jià)之和這就落到調(diào)和平均上了。同理兩段等距離的路程求平均速度也是調(diào)和平均。提示拿不準(zhǔn)的時(shí)候先寫出「總量 ÷ 份數(shù)」這個(gè)原始式子再看份數(shù)是怎么來的。份數(shù)由權(quán)重決定就用加權(quán)由比率倒數(shù)決定就用調(diào)和由連乘決定就用幾何。5.4 六個(gè)常見分布和它們的兩把尺子試卷里反復(fù)出現(xiàn)的分布有六個(gè)分成離散和連續(xù)兩組。離散組二項(xiàng)分布、泊松分布、超幾何分布。二項(xiàng)分布描述n次獨(dú)立重復(fù)試驗(yàn)里成功的次數(shù)期望是np方差是np(1-p)。泊松分布描述單位時(shí)間或單位空間內(nèi)稀有事件發(fā)生的次數(shù)它有個(gè)漂亮的性質(zhì)——期望和方差都等于λ。超幾何分布和二項(xiàng)分布的關(guān)系是試卷愛考的二項(xiàng)分布對(duì)應(yīng)有放回抽樣每次試驗(yàn)條件不變超幾何分布對(duì)應(yīng)無放回抽樣抽走一個(gè)總體就變了一點(diǎn)。樣本量相對(duì)總體很小的時(shí)候兩者結(jié)果幾乎一樣所以實(shí)際工作中常拿二項(xiàng)近似超幾何。連續(xù)組均勻分布、正態(tài)分布、指數(shù)分布。均勻分布在區(qū)間[a, b]上概率密度處處相等期望是(ab)/2方差是(b-a)2/12——那個(gè)12是推導(dǎo)出來的常數(shù)不用記來源記住形式即可。正態(tài)分布由均值μ和方差σ2兩個(gè)參數(shù)完全確定期望就是μ、方差就是σ2。指數(shù)分布的期望是1/λ方差是1/λ2。指數(shù)分布和泊松分布的關(guān)系值得單獨(dú)說一句泊松描述的是「一段時(shí)間內(nèi)事件發(fā)生幾次」指數(shù)描述的是「兩次事件之間隔多久」前者是計(jì)數(shù)后者是等待時(shí)間兩者共用同一個(gè)λ但含義相反。某洗車店每小時(shí)平均來10輛車那么車輛到達(dá)的間隔就服從λ10的指數(shù)分布平均間隔是1/10小時(shí)也就是6分鐘。這里最容易錯(cuò)的是把平均間隔寫成10——λ是「單位時(shí)間多少次」取倒數(shù)才是「每次多久」。5.5 統(tǒng)計(jì)三大分布與抽樣樣本均值自己也有分布到這里還差一塊拼圖抽樣分布。它的核心問題是——我從總體里抽n個(gè)樣本算出一個(gè)均值這個(gè)均值本身會(huì)不會(huì)波動(dòng)答案是會(huì)而且它自己服從一個(gè)分布。如果總體是N(μ, σ2)那么樣本均值服從N(μ, σ2/n)。注意方差被除以了n這解釋了一個(gè)日常經(jīng)驗(yàn)樣本量越大樣本均值越穩(wěn)定。n從100漲到400均值的標(biāo)準(zhǔn)差減半這也是為什么調(diào)查樣本量翻四倍才能把誤差壓一半。由正態(tài)分布還能派生三個(gè)分布試卷稱之為統(tǒng)計(jì)三大分布卡方分布、t分布、F分布。卡方分布是若干個(gè)標(biāo)準(zhǔn)正態(tài)變量的平方和常用來構(gòu)造方差的區(qū)間估計(jì)t分布長(zhǎng)得像正態(tài)但尾巴更厚專門用于總體方差未知時(shí)對(duì)均值做推斷F分布是兩個(gè)卡方分布各自除以自由度之后的比值用于比較兩組方差。這三個(gè)分布是后面做假設(shè)檢驗(yàn)的全部工具箱試卷把它們和「均勻、正態(tài)、指數(shù)」放在一起做干擾項(xiàng)就是要你分清哪些是描述數(shù)據(jù)的分布、哪些是描述統(tǒng)計(jì)量的分布。順帶提一句點(diǎn)估計(jì)。試卷問常見點(diǎn)估計(jì)方法有哪幾種答案是矩估計(jì)法、極大似然估計(jì)法和最小二乘估計(jì)法。矩估計(jì)的思路最直白用樣本矩去估計(jì)總體矩樣本均值估總體均值、樣本方差估總體方差拿已知推未知。6. 什么時(shí)候該刷這套題、什么時(shí)候別刷一份邊界判斷這套題的價(jià)值邊界其實(shí)很清楚用一張表能說透。場(chǎng)景適不適合原因剛學(xué)完數(shù)據(jù)類型和對(duì)象結(jié)構(gòu)想自查有沒有概念漏洞適合題目密度高覆蓋了名義/有序、向量/矩陣/列表/數(shù)據(jù)框這些最容易含混的點(diǎn)考試前想快速過一遍函數(shù)名和參數(shù)適合head、ls、rm、factor、apply、table、hist 這些高頻函數(shù)幾乎都出現(xiàn)了想搞懂某個(gè)函數(shù)背后的算法原理不適合卷子只給結(jié)論和答案不展開推導(dǎo)需要另找教材想做真實(shí)數(shù)據(jù)分析項(xiàng)目練手不適合題目都是碎片化的單點(diǎn)驗(yàn)證缺少完整的數(shù)據(jù)清洗到建模流程已經(jīng)能熟練寫R腳本只想查漏補(bǔ)缺部分適合可以只挑矩陣取子集、因子轉(zhuǎn)換、apply 家族這幾塊看判斷自己該不該刷有個(gè)簡(jiǎn)單辦法隨便挑一道題先別管答案把代碼敲進(jìn)控制臺(tái)跑一遍看結(jié)果和你腦子里預(yù)判的是否一致。一致說明這塊你已經(jīng)過關(guān)可以跳過不一致那就是你要補(bǔ)的洞。這個(gè)自測(cè)方式比從頭到尾刷一遍效率高得多因?yàn)槟愕臅r(shí)間應(yīng)該花在「預(yù)判失敗」的地方而不是「已經(jīng)會(huì)」的地方。至于什么時(shí)候別刷我的建議是如果你連向量和列表都還分不清先別碰最后那幾章的概率分布和參數(shù)估計(jì)。那部分題目默認(rèn)你已經(jīng)能熟練操作數(shù)據(jù)結(jié)構(gòu)直接上手只會(huì)變成背答案。反過來如果你正在準(zhǔn)備一場(chǎng)以選擇題為主的考核這套題的性價(jià)比就很高——它把出題人愛設(shè)的陷阱都攤在明面上了比如循環(huán)補(bǔ)齊、單雙方括號(hào)、levels截?cái)唷⒚疤?hào)優(yōu)先級(jí)這些點(diǎn)看一遍答案記不住必須自己踩一次。我自己的習(xí)慣是每次遇到一段結(jié)果和預(yù)期不符的代碼先不急著改而是把中間每一步的class()、length()、str()打出來看一遍。這個(gè)動(dòng)作最早就是從做這類題養(yǎng)成的——當(dāng)時(shí)錯(cuò)了一道df[Height]的題明明覺得取的就是那一列mean()卻報(bào)錯(cuò)查了半天才發(fā)現(xiàn)拿到的是數(shù)據(jù)框不是向量。從那以后我每次寫取子集的代碼都會(huì)先跑一遍class()確認(rèn)結(jié)構(gòu)寧可多打一行也不讓它在幾十行之后才炸出來。希望這套題也能幫你把那些「以為懂了其實(shí)沒懂」的地方提前暴露出來完整題目和答案都在資料里需要的話去下載頁(yè)自取就好。本文還有配套的精品資源點(diǎn)擊獲取