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

熱線電話:13121318867

登錄
首頁精彩閱讀R語言學習之向量—啟航
R語言學習之向量—啟航
2017-06-02
收藏

R語言學習之向量—啟航

通過前面幾篇,相信就算是新手也對R語言的歷史,R運行環(huán)境有了大概的了解。下面就R語言特殊的賦值符號與基本數(shù)據(jù)元素——向量做簡要概述。
1、賦值符號
相信大家學過的編程語言中,賦值符號都是“ = ”。當然了,在R語言中用“ = ”是可以的,但卻被視為一種不好的編程習慣,大家都知道,一個好的編程習慣是一個寫代碼的人基本編程素養(yǎng)的體現(xiàn)。在R語言中提倡用神奇的賦值符號“ <- ”。

這里給變量a,b分別賦值5,2
> a <- 5
> b <- 2
> a[1]
 5
> b[1]
 2
> a = 5
> b = 2
> a[1]
  5
> b[1]
   2
可以看出“ <- ”,“ = ”是一樣的效果。
加、減法運算
> a+b
[1] 7
> a-b
[1] 3
乘、除法運算
> a*b
[1] 10
> a/b
[1] 2.5
求余運算,R語言中求余符號是兩個“%%”
> a%%b
[1] 1
2、向量
只要是編程語言都有向量,向量給數(shù)據(jù)操作帶來了極大方便。
(1)、向量的創(chuàng)建
R語言中向量創(chuàng)建與取值與其它編程語言差不多,只是R語言中用 ‘c’ 關(guān)鍵字創(chuàng)建,所以不要用 'c' 作為變量。
> arr <- c(1,2,3,5,6)
> arr
[1] 1 2 3 5 6
也可以這樣創(chuàng)建:
> arr <- c(1:5)
> arr
[1] 1 2 3 4 5
還有一些其它方式,以后遇到會慢慢介紹。比如
> seq(1,9)
[1] 1 2 3 4 5 6 7 8 9
> rep(1,9)
[1] 1 1 1 1 1 1 1 1 1
(2)、元素引用
R語言序列下標都從“ 1 ”開始哦。
> arr[1]
[1] 1
> arr[3]
[1] 3
> arr[length(arr)]
[1] 6
(3)、向量加減法
向量的加減法表示兩個向量對應元素分別進行加減運算。
這里創(chuàng)建另外一個向量arr2
> arr2
[1] 2 3 4 5 6 7
與matlab一樣的向量式編程方式
> arr
[1] 1 2 3 5 6
> arr2 <- c(2:6)
> arr2
[1] 2 3 4 5 6
> arr+arr2
[1]  3  5  7 10 12
當然了,向量加減前提是兩個向量長度一樣。
(4)、向量乘除法
向量乘除法表示兩個向量對應元素分別乘除運算,返回長度一樣的向量。相當于matlab的點乘。
> arr*arr2
[1]  2  6 12 25 36
向量乘除前提是兩個向量長度一樣,當然了,分母不能為0

數(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(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 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); }