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

熱線電話:13121318867

登錄
首頁精彩閱讀用R語言做數(shù)據(jù)分析(3)_向量_數(shù)據(jù)分析師
用R語言做數(shù)據(jù)分析(3)_向量_數(shù)據(jù)分析師
2014-12-06
收藏

R語言做數(shù)據(jù)分析(3)_向量_數(shù)據(jù)分析師


<a href='/map/r/' style='color:#000;font-size:inherit;'>R語言</a>對象模型簡介

圖一 R語言的數(shù)據(jù)對象類型簡介圖
在本系列文章中,接下將分別介紹R語言的幾種數(shù)據(jù)對象:向量、矩陣、數(shù)據(jù)框與列表、其它特殊對象;
請大家在學(xué)習(xí)R語言的時(shí)候永遠(yuǎn)記住一個(gè)概念,R語言所有內(nèi)容都是對象;
一、向量基本概念
R語言中最為核心的構(gòu)成之一
       1、向量構(gòu)成的基本元素為:數(shù)值(numeric)、字符(character)、邏輯值(logical)、復(fù)數(shù)型(complex);
       2、向量不需要定義類型,可直接賦值:

           1)生成一個(gè)空向量;x<-c();

           2)給向量賦值。x<-c(0,1,2,3);

      3、向量的元素下標(biāo)取值是以1開始,這點(diǎn)請剛開始接觸R的同學(xué)注意。例如:要前例中取x向量中值為1,則為x[2]

      4、如果一個(gè)向量中有一個(gè)字符,則該向量的類型會(huì)變成字符;

          <a href='/map/r/' style='color:#000;font-size:inherit;'>R語言</a>

         如果邏輯變量與數(shù)值在一起,則為轉(zhuǎn)換成數(shù)值。TRUE轉(zhuǎn)變成1 and FALSE 轉(zhuǎn)變成 0.

        <a href='/map/r/' style='color:#000;font-size:inherit;'>R語言</a>

2、在R語言中沒有單一的整數(shù)、單一字符的概念

      例如:X<-2;X<-'a';R都是當(dāng)作向量來處理,只是這個(gè)向量只包括單一值。
3、給向量各元素命名: names(x)
     Demo_3<-1:3

     names(Demo_3) <- c("a","b","ab")

    <a href='/map/r/' style='color:#000;font-size:inherit;'>R語言</a>
二、幾種特殊向量的生成
1、生成系列seq()

1)seq(length=, from=, to=)

   Length:指定生成個(gè)數(shù)
   From:是指開始生成的點(diǎn)
   To:截止點(diǎn)
2)如果不指定,則默認(rèn)條件下:seq(N1,N2,BY=)
   N1:開始位置
   N2:截止位置
   BY=指定間隔
  <a href='/map/r/' style='color:#000;font-size:inherit;'>R語言</a>
2、rep(P,N) 重復(fù)生成P值N次  
<a href='/map/r/' style='color:#000;font-size:inherit;'>R語言</a>
三、向量運(yùn)算
1、取子向量
   通過下標(biāo):

          取某個(gè)元素:x[2];(如果X包括名稱,注意:x[2]與x[[2]]的區(qū)別;

          取某中幾個(gè):x[c(1,2,0)]

          取某個(gè)/幾個(gè)元素,利用-:x[-n]

2、向量排序;

     sort(); 輸出排序后的結(jié)果;

     order();輸出排序后的各個(gè)向量位置;

    a<-c(3,9,0,12,19)
    sort(a);order();
    <a href='/map/r/' style='color:#000;font-size:inherit;'>R語言</a>
3、循環(huán)。如果二個(gè)向量進(jìn)行運(yùn)算過程中,二個(gè)向量不相同,則R對長度小的向量自動(dòng)補(bǔ)充值,直到長度等于大的向量。
例如:
Demo_5<-1:3;
Demo_6<-2:5;
Demo_7= Demo_6+ Demo_5;
  r語言
Demo_5<-1:3;
Demo_6<-2:7;
Demo_7= Demo_6+ Demo_5;

   <a href='/map/r/' style='color:#000;font-size:inherit;'>R語言</a>

 (這也是很多人學(xué)習(xí)R語言的時(shí)候很難理解的地方,為什么會(huì)有這種機(jī)制)
       vectorized operation(向量化運(yùn)算)

      1)、如果有一個(gè)是向量,是則結(jié)果都是向量形式;

      2)、進(jìn)行向量運(yùn)算;判斷向量是否長度相等,如果長度不相等,則把短向量長度從頭開始循環(huán)補(bǔ)充值,到與長向量的長度相等(所以二個(gè)長度的相關(guān)必須是整數(shù)倍);

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

若不方便掃碼,搜微信號(hào):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)的第一個(gè)參數(shù)驗(yàn)證碼對象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(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){ //倒計(jì)時(shí)完成 $(".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); }