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

熱線電話:13121318867

登錄
首頁(yè)精彩閱讀R語(yǔ)言學(xué)習(xí)系列之本地?cái)?shù)據(jù)獲取
R語(yǔ)言學(xué)習(xí)系列之本地?cái)?shù)據(jù)獲取
2018-06-30
收藏

R語(yǔ)言學(xué)習(xí)系列之本地?cái)?shù)據(jù)獲取

任何數(shù)據(jù)分析工作之前,都得把數(shù)據(jù)先讀取進(jìn)來(lái)你才能進(jìn)行后續(xù)的分析工作。所以本文簡(jiǎn)要介紹在R中如何對(duì)本地文件進(jìn)行獲取,希望可以給剛剛接觸R語(yǔ)言的同學(xué)一點(diǎn)啟發(fā)。
一、控制臺(tái)的輸入與輸出
何為控制臺(tái)的輸入與輸出呢?你可以簡(jiǎn)單的理解成在屏幕上進(jìn)行操作讓數(shù)據(jù)可以直接輸入或輸出的方法。
一般輸入時(shí)采用readline()函數(shù)與scan()函數(shù),它們的區(qū)別如下:

如上我們可以發(fā)現(xiàn)這兩個(gè)函數(shù)的區(qū)別,readline()只能輸入單個(gè)數(shù)據(jù),可以為數(shù)值也可以為字符串,并且最后會(huì)將輸入的數(shù)據(jù)轉(zhuǎn)化為字符串的格式。而scan()可以輸入多個(gè)數(shù)據(jù),但只能是數(shù)值,最后會(huì)以數(shù)值型輸出。
一般輸出時(shí)采用print()與cat()的方法,兩個(gè)方法的區(qū)別是cat()可以將內(nèi)容粘合起來(lái)。如下所示:

如上可以比較,print()就是直接打印,與別的語(yǔ)言打印語(yǔ)句一致。此外,我們建立一個(gè)文件鏈接,文件名為output.txt,之后再用cat()向文件輸出數(shù)據(jù)并且使用制表符‘/t’將內(nèi)容粘合起來(lái)。最后關(guān)閉文件鏈接。才看本地文件存入地址。結(jié)果如下:

二、數(shù)據(jù)表的讀寫


我們還是使用自帶的iris數(shù)據(jù)集做測(cè)試,使用write.table()寫入數(shù)據(jù),命名為iris.csv ,再使用read.table()將數(shù)據(jù)集讀回來(lái)賦給變量data。
在讀數(shù)據(jù)時(shí)有兩個(gè)小技巧:1、當(dāng)你在讀其他路徑下的文件時(shí)可以采用
read.table(file.choose(),sep = ',')
這樣的方法,R會(huì)自動(dòng)彈出一個(gè)選擇文件框供你選擇。2、Windows操作系統(tǒng)下可以直接對(duì)需要的數(shù)據(jù)部分在Excel中復(fù)制然后在R中讀取。
data <- read.table('clipboard')
注意此方法適用于小數(shù)據(jù)集,因?yàn)橛?jì)算機(jī)的剪切板容量是有限的。
三、數(shù)據(jù)庫(kù)的讀寫
有時(shí)候會(huì)出現(xiàn)需要讀取MySQL數(shù)據(jù)庫(kù)中的數(shù)據(jù),這里提供給你一些方法與思路。具體如何去操作百度文庫(kù)里面多得飛起,我就不一一介紹了(好吧,我還是懶!?。。?br /> 有兩種方法:1、你可以直接將數(shù)據(jù)庫(kù)中的數(shù)據(jù)寫個(gè)sql語(yǔ)句讀出來(lái)存入csv文件,再用之前的方法進(jìn)行讀取。2、R也提供直接能夠操作數(shù)據(jù)庫(kù)的包‘RODBC’。首先你要安裝‘RODBC’包,之后下載MySQL ODBC 驅(qū)動(dòng),再配置ODBC。一切搞定后在R中調(diào)用‘RODBC’包,輸入數(shù)據(jù)庫(kù)訪問(wèn)參數(shù),再寫一個(gè)sql語(yǔ)句將你需要的數(shù)據(jù)讀出來(lái)即可。
四、讀取Excel文件
這里總結(jié)一下之前讀取Excel文件的方法再介紹一個(gè)個(gè)人認(rèn)為比較好用的包‘openxlsx’。這個(gè)包的讀取速度比較快。
讀取Excel文件的方法有:1、數(shù)據(jù)小時(shí),可以使用直接復(fù)制在R中采用‘clipboard’的方法,注意此方法適用于Windows用戶。2、數(shù)據(jù)大的時(shí)候,將Excel文件存為csv文件再用read.table()的方法進(jìn)行讀取。3、若想直接讀寫,可以調(diào)用‘openxlsx’包
library(openxlsx)
data <- read.xlsx(file.choose(),sheet = 1)
五、如何讀取SPSS,SAS中的數(shù)據(jù)文件
當(dāng)需要讀取SPSS,SAS中的數(shù)據(jù)時(shí),推薦使用‘foreign’包,其中有大量讀取外部數(shù)據(jù)的函數(shù)。
library(foreign)
statadata <- read.dta('c/temp/statafile.dta')
spssdata <- read.spss('c/temp/spssfile.sav')
sasdata <- read.xport('c/temp/sasfile.xpt')

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

若不方便掃碼,搜微信號(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)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測(cè)極驗(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ù)說(shuō)明請(qǐng)參見(jiàn):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 = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+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); }