作者:丁點(diǎn)helper
來(lái)源:丁點(diǎn)幫你
上篇文章介紹了如何在數(shù)據(jù)中增加或者刪除變量,但是實(shí)際操作中,我們需要從大的數(shù)據(jù)庫(kù)中選取一些變量來(lái)分析,那么如何從數(shù)據(jù)中選取多個(gè)變量呢?
從數(shù)據(jù)庫(kù)中選取多個(gè)變量
多重線性回歸,一般是指有多個(gè)自變量X,只有一個(gè)因變量Y。前面我們主要是以簡(jiǎn)單線性回歸為例在介紹,兩者的差距主要在于自變量X的數(shù)量,在只有一個(gè)X時(shí),就稱簡(jiǎn)單線性回歸本次我們數(shù)據(jù)鏈接:
假設(shè)原數(shù)據(jù)庫(kù)為rawdata,存儲(chǔ)了某地區(qū)人群的上千個(gè)健康指標(biāo),但現(xiàn)在我們只想提取其中的基本人口和社會(huì)經(jīng)濟(jì)特征變量進(jìn)行分析。
通常來(lái)講,可以在數(shù)據(jù)框后加[ , ]。逗號(hào)后是列。
## 提取第一列 rawdata [,1]
但從上千個(gè)指標(biāo)中選出某幾個(gè)人口和社會(huì)經(jīng)濟(jì)變量,必須知道這些變量在原數(shù)據(jù)庫(kù)中是第幾列,操作必然繁瑣,且容易出錯(cuò)。
這種情況下,我們可以用下面的code:
newdata <- rawdata[,c('age','gender','ethnicity','education', 'job','marital_status','location','monthly_income')
定量變量的統(tǒng)計(jì)描述
多重線性回歸,一般是指有多個(gè)自變量X,只有一個(gè)因變量Y。前面我們主要是以簡(jiǎn)單線性回歸為例在介紹,兩者的差距主要在于自變量X的數(shù)量,在只有一個(gè)X時(shí),就稱簡(jiǎn)單線性回歸。
在剛剛整理好的newdata中,我們想了解目標(biāo)人群的月收入。
首先對(duì)數(shù)據(jù)做個(gè)簡(jiǎn)單的邏輯核驗(yàn),比如月收入一定是大于0的。
另外,還要把缺失值刪掉,當(dāng)然,這里需要考慮缺失值是否會(huì)對(duì)統(tǒng)計(jì)結(jié)果造成影響。
比如通過(guò)對(duì)未缺失變量的描述,發(fā)現(xiàn)缺失的月收入都來(lái)自金融行業(yè)的樣本,那么用現(xiàn)有數(shù)據(jù)計(jì)算出來(lái)的月收入就可能低于實(shí)際情況,我們需要回訪、補(bǔ)充數(shù)據(jù),或者用相關(guān)數(shù)據(jù)代替。
無(wú)論采取何種辦法,或者不采取任何補(bǔ)救辦法,在匯報(bào)結(jié)果時(shí),都需要說(shuō)明。
newdata <- newdata[!is.na(newdata$monthly_income),]
定量變量的統(tǒng)計(jì)描述,可以用均值和標(biāo)準(zhǔn)差的組合,也可以用中位數(shù)和四分位數(shù)間距的組合。這取決于數(shù)據(jù)的分布:
hist(newdata$monthly_income)
一般情況下,收入都是左偏峰分布的,也就是說(shuō),大多數(shù)人的收入集中在中等水平,隨著月均收入的增加,落在其區(qū)間內(nèi)的人數(shù)越來(lái)越少。
所以我們要用中位數(shù)和四分位數(shù)間距的組合來(lái)描述月均收入。quantile()這個(gè)函數(shù)可以輸出最小值、25%分位數(shù)、中位數(shù)、75%分位數(shù)、最大值。IQR()是計(jì)算四分位數(shù)間距的函數(shù),也可以用75%分位數(shù)減去25%分位數(shù)計(jì)算。
quantile (newdata$monthly_income) ## results 0% 25% 50% 75% 100% 3000 4500 4700 5500 20000
分組對(duì)定量變量做統(tǒng)計(jì)描述
多重線性回歸,一般是指有多個(gè)自變量X,只有一個(gè)因變量Y。前面我們主要是以簡(jiǎn)單線性回歸為例在介紹,兩者的差距主要在于自變量X的數(shù)量,在只有一個(gè)X時(shí),就稱簡(jiǎn)單線性回歸。
不同性別的人群,月收入情況分別是怎樣的呢?aggregate()函數(shù)可以實(shí)現(xiàn)分組輸出統(tǒng)計(jì)結(jié)果:
該函數(shù)第一個(gè)命令是要統(tǒng)計(jì)的變量,第二個(gè)命令是要分組的變量,第三個(gè)命令是統(tǒng)計(jì)的方式,也就是用哪個(gè)函數(shù)對(duì)變量做統(tǒng)計(jì)。
aggregate(newdata$monthly_income, by=list(newdata$gender),quantile) ## gender=0:female; gender=1: male ## results Group.1 x.0% x.25% x.50% x.75% x.100% 1 0 3000 3500 4000 4500 6000 2 1 2000 5000 5500 6600 20000