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

熱線電話:13121318867

登錄
首頁精彩閱讀R語言定義多維數(shù)組
R語言定義多維數(shù)組
2018-03-14
收藏

R語言定義多維數(shù)組

數(shù)組有一個特征屬性叫做維數(shù)向量(dim屬性),維數(shù)向量是一個元素取正整數(shù)值的向量 ,其長度是數(shù)組的維數(shù),比如維數(shù)向量有兩個元素時數(shù)組為二維數(shù)組(矩陣)。維數(shù)向量的 每一個元素指定了該下標的上界,下標的下界總為1。

一組值只有定義了維數(shù)向量(dim屬性)后才能被看作是數(shù)組。比如:

z <- 1:1500
dim(z) <- c(3, 5, 100)

這時z已經(jīng)成為了一個維數(shù)向量為c(3,5,100)的三維數(shù)組。也可以把向量定義為一維數(shù)組 ,例如:

dim(z) <- 1500

數(shù)組元素的排列次序缺省情況下是采用FORTRAN的數(shù)組元素次序(按列次序),即第一下 標變化最快,最后下標變化最慢,對于矩陣(二維數(shù)組)則是按列存放。例如,假設數(shù)組a的 元素為1:24,維數(shù)向量為c(2,3,4),則各元素次序為a[1,1,1], a[2,1,1], a[1,2,1], a[2,2,1], a[1,3,1], …, a[2,3,4]。

用函數(shù)array()或matrix()可以更直觀地定義數(shù)組。array()函數(shù)的完全使用為array(x, dim=length(x), dimnames=NULL),其中x是第一自變量,應該是一個向量,表示數(shù)組的元素 值組成的向量。dim參數(shù)可省,省略時作為一維數(shù)組(但不同于向量)。dimnames屬性可以省 略,不省略時是一個長度與維數(shù)相同的列表(list,見后面),列表的每個成員為一維的名 字。例如上面的z可以這樣定義:

z <- array(1:1500, dim=c(3,5,100))
函數(shù)matrix()用來定義最常用的一種數(shù)組:二維數(shù)組,即矩陣。其完全格式為 matrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE, dimnames = NULL)

矩陣運算

矩陣是二維數(shù)組,但因為其應用廣泛所以對它定義了一些特殊的運算和操作。

函數(shù)t(A)返回矩陣A的轉置。nrow(A)為矩陣A的行數(shù),ncol(A)為矩陣A的列數(shù)。

矩陣之間進行普通的加減乘除四則運算仍遵從一般的數(shù)組四則運算規(guī)則,即數(shù)組的對應元 素之間進行運算,所以注意A*B不是矩陣乘法而是矩陣對應元素相乘。

要進行矩陣乘法,使用運算符%%,A%%B表示矩陣A乘以矩陣B(當然要求A的列數(shù)等于B的 行數(shù))。例如:

A <- matrix(1:12, nrow=4, ncol=3, byrow=T)
B <- matrix(c(1,0), nrow=3, ncol=2, byrow=T)
A
[,1] [,2] [,3] [1,] 1 2 3 [2,] 4 5 6 [3,] 7 8 9 [4,] 10 11 12
B [,1] [,2] [1,] 1 0 [2,] 1 0 [3,] 1 0
A %*% B
[,1] [,2] [1,] 6 0 [2,] 15 0 [3,] 24 0 [4,] 33 0

另外,向量用在矩陣乘法中可以作為行向量看待也可以作為列向量看待,這要看哪一種觀 點能夠進行矩陣乘法運算。例如,設x是一個長度為n的向量,A是一個 R語言定義多維數(shù)組和數(shù)組的運算矩陣,則“x %% A %% x”表示二次型 R語言定義多維數(shù)組和數(shù)組的運算。但是,有時向量在矩陣乘法中的地位并不 清楚,比如“x %% x”就既可能表示內積 R語言定義多維數(shù)組和數(shù)組的運算也可能表示 R語言定義多維數(shù)組和數(shù)組的運算陣 R語言定義多維數(shù)組和數(shù)組的運算。因為前者較常用,所以S選擇表示前者, 但內積最好還是用crossprod(x)來計算。要表示 R語言定義多維數(shù)組和數(shù)組的運算,可以用“cbind(x) %% x”或“x %*% rbind(x) ”。

函數(shù)crossprod(X, Y)表示一般的交叉乘積(內積) R語言定義多維數(shù)組和數(shù)組的運算,即X的每一列與Y的每一列的內積組成的矩 陣。如果X和Y都是向量則是一般的內積。只寫一個參數(shù)X的crossprod(X)計算X自身的內積 R語言定義多維數(shù)組和數(shù)組的運算。
其它矩陣運算還有solve(A,b)解線性方程組 R語言定義多維數(shù)組和數(shù)組的運算,solve(A)求方陣A的逆矩陣,svd()計算奇 異值分解,qr()計算QR分解,eigen()計算特征向量和特征


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

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

數(shù)據(jù)分析師考試動態(tài)
數(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(); // 調用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調,回調的第一個參數(shù)驗證碼對象,之后可以使用它調用相應的接口 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); }