99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁大數(shù)據(jù)時代在R中用箱形圖做組間比較
在R中用箱形圖做組間比較
2021-09-07
收藏

來源:丁點幫你

作者:丁點helper

之前的文章講了如何用R繪制箱形圖,以此來幫助我們了解數(shù)據(jù)的整體分布情況、是否存在異常值。除此之外,箱形圖還可以進(jìn)行數(shù)據(jù)的組間比較。

分組變量的數(shù)據(jù)清理

多重線性回歸,一般是指有多個自變量X,只有一個因變量Y。前面我們主要是以簡單線性回歸為例在介紹,兩者的差距主要在于自變量X的數(shù)量,在只有一個X時,就稱簡單線性回歸。

本次我們用到的是學(xué)生的課堂調(diào)查數(shù)據(jù),包括了性別、年級、專業(yè)、身高、最喜歡的動物(講數(shù)據(jù)清理時用的是這個變量,還記得嗎)等變量。數(shù)據(jù)名:survey.csv,數(shù)據(jù)鏈接:

首先導(dǎo)入數(shù)據(jù),存入survey這個數(shù)據(jù)集中:

survey <- read.csv("http://Users//Desktop//survey.csv", 
                     header = TRUE) # 獲取數(shù)據(jù)中包含的變量名 names(survey)
 [1] "ClassProb" "Status" "Year" "Division" "Gender" "HtCm" "Hand" "Haircut" "Exercise" [10] "Coursework" "Web" "TV" "Social" "Econ" "Animal" "Friends" "Pulse"

接下來我們以Gender作為分組依據(jù),先來看看這個變量的情況。

table(survey$Gender) Choose not to answer Female Gender non-conforming Male 1 1 117 1 118 

我們發(fā)現(xiàn),除了female和male,有的同學(xué)回答了Choose not to answer,Gender non-conforming,還有同學(xué)什么都沒填,空缺。

今天我們暫時將這三種特殊情況從數(shù)據(jù)中刪去。

# 查看針對Gender這個變量,同學(xué)們有幾類回答 levels(survey$Gender)
[1] "" "Choose not to answer" "Female" "Gender non-conforming" "Male" 

在這五類回答中,我們想保留的是第3、第5類。也就是說,僅保留Gender為"Female" 或 "Male"的記錄。

# 把更新后的數(shù)據(jù)存儲在survey2這個對象中 survey2 <- survey[survey$Gender %in% levels(survey$Gender)[c(3,5)],]

這里,a %in%b的作用是,用a中的元素去匹配b中的任意元素,如果匹配成功,則返回結(jié)果為TRUE,反之,則結(jié)果為FALSE。

此時,上面的語句就簡化為如下所示,c()里面是TRUE和FALSE的集合,是a中每個元素與b匹配的結(jié)果。

survey2 <- survey[c(),] # 這是為了便于理解寫的簡化語句,不能夠運行的

survey2中僅保留了匹配結(jié)果為TRUE的記錄:

table(survey2$Gender) Choose not to answer Female Gender non-conforming Male 0 0 117 0 118 

哎?雖然記錄被刪了,但Gender中之前包含的五個類都還在,用下面的droplevels()這個函數(shù)刪掉那些沒有記錄的類。

survey2$Gender <- droplevels(survey2$Gender)
table(survey2$Gender)
Female   Male 
   117    118

繪制整體和各組數(shù)據(jù)的箱形圖

多重線性回歸,一般是指有多個自變量X,只有一個因變量Y。前面我們主要是以簡單線性回歸為例在介紹,兩者的差距主要在于自變量X的數(shù)量,在只有一個X時,就稱簡單線性回歸。

數(shù)據(jù)清理好之后,我們以身高HtCm這個變量為例,先用之前講過的方法繪制箱形圖,了解改變量的整體分布,然后對比性別之間的身高差異。

boxplot(survey2$HtCm, main="Boxplot of Ht in cm",          col='orange', lwd=2)
在R中用箱形圖做組間比較

一目了然,我們調(diào)查的是大學(xué)學(xué)生,卻出現(xiàn)了身高小于100厘米的情況,不符合常理?,F(xiàn)在去檢查一下原始數(shù)據(jù)。

sort(survey2$HtCm) # 將身高從小到大排序
在R中用箱形圖做組間比較

部分結(jié)果截圖

實際操作中,大家要盡量核實那些極端身高數(shù)據(jù)的真實情況,修正數(shù)據(jù)。這里我們?yōu)楸阌诮虒W(xué),直接把那些小于100厘米的身高值記錄為缺失。

然后利用整理后的身高數(shù)據(jù)繪制箱形圖。

survey2$HtCm[survey2$HtCm < 100 ] <- NA
 boxplot(survey2$HtCm, main="Boxplot of Ht in cm", 
          col='orange', lwd=2)
在R中用箱形圖做組間比較

最后繪制不同性別學(xué)生的身高箱形圖。

boxplot(survey2$HtCm~survey2$Gender, 
         main="Boxplot of Ht in cm", 
         col=c(2,3), lwd=2)
在R中用箱形圖做組間比較

由圖可知,男生的身高基本都高于女生。將兩個箱形圖放在一起,可以清晰地看到兩組變量的大致情況,便于給兩組做粗略的比較。

但是這男女生身高到底有沒有統(tǒng)計學(xué)上的差異,肉眼是很難得出結(jié)論的,統(tǒng)計學(xué)上怎么做呢?

數(shù)據(jù)分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時表示是新驗證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }