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

熱線電話:13121318867

登錄
首頁精彩閱讀R語言如何導入數(shù)據(jù)
R語言如何導入數(shù)據(jù)
2017-03-04
收藏

R語言如何導入數(shù)據(jù)

在使用R的時候,我們肯定需要導入數(shù)據(jù),現(xiàn)在總結(jié)一下如何導入不同類型的數(shù)據(jù):

1.使用鍵盤輸入數(shù)據(jù)

在導入數(shù)據(jù)比較少的時候,我們使用這種方法。R中的函數(shù) edit() 會自動調(diào)用一個允許手動輸入數(shù)據(jù)的文本編輯器。具體步驟如下:
(1) 創(chuàng)建一個空數(shù)據(jù)框(或矩陣) ,其中變量名和變量的模式需與理想中的最終數(shù)據(jù)集一致;
(2) 針對這個數(shù)據(jù)對象調(diào)用文本編輯器,輸入你的數(shù)據(jù),并將結(jié)果保存回此數(shù)據(jù)對象中。在下例中,你將創(chuàng)建一個名為 mydata 的數(shù)據(jù)框,它含有三個變量: age (數(shù)值型) 、 height(字符型)和 weight (數(shù)值型) 。然后通過edit()函數(shù)調(diào)用文本編輯器,鍵入數(shù)據(jù),最后保存結(jié)果。編輯器界面如下,我們在這個界面可以輸入變量值,也可以改變變量類型。

[plain] view plain copy

mydata<-data.frame(age=numeric(0),height=numeric(0),weight=numeric(0)) 

edit(mydata)  

需要注意的是函數(shù) edit() 事實上是在對象的一個副本上進行操作的。如果你沒有將它其賦值到一個對象,你的所有修改將會全部丟失!

2.導入帶分隔符的文本文件數(shù)據(jù)/CSV文件

read.table() 可以從帶分隔符的文本文件中導入數(shù)據(jù)。此函數(shù)可讀入一個表格格式的文件并將其保存為一個數(shù)據(jù)框。其語法如下:

read.table(file,header=value,sep="delimter",row.names="name")

file表示文件名,header表示表的首行是否包含變量值的邏輯值,sep 用來指定分隔數(shù)據(jù)的分隔符, row.names 用以指定一個或多個表示行標識符的變量,是個一可選參數(shù),他還有許多參數(shù),可以通過幫助文檔進行查看。

3.導入Excel數(shù)據(jù)

雖然Excel可能是世界上最流行的數(shù)據(jù)分析工具,但R如果直接讀取Excel數(shù)據(jù)還是比較困難的。

但我們可以在Excel中將數(shù)據(jù)將其導出為一個逗號分隔文件(csv) ,并使用前文描述的方式將其導入R中。在Windows系統(tǒng)中,你也可以使用 RODBC 包來訪問Excel文件。但它好像只能在32位的R軟件上面使用。雖然也有一些包可以這些問題,比如gdata,XLConnect,xlsReadWrite等,但它的有許多前提要求,比如Java環(huán)境,Per,或者32-bit R。因此一般情況將數(shù)據(jù)轉(zhuǎn)換為csv文件或者將數(shù)據(jù)導入到數(shù)據(jù)庫在導入在R。

4.導入XML數(shù)據(jù)

強大的R中有若干用于處理XML文件的包。 XML 包允許用戶讀取、寫入和操作XML文件。因為我還沒有遇到這種數(shù)據(jù),因此還不太清楚xml包大體如何使用,感興趣的朋友可以下載xml包,通過幫助文檔進行學習。

5.從網(wǎng)頁抓取數(shù)據(jù)

不僅Python可以爬取網(wǎng)頁數(shù)據(jù),R也可以在Web數(shù)據(jù)抓取。在這個的過程中,用戶可以從互聯(lián)網(wǎng)上提取嵌入在網(wǎng)頁中的信息,并將其保存為R中的數(shù)據(jù)結(jié)構(gòu)以做進一步的分析。 完成這個任務的一種途徑是使用函數(shù) readLines()下載網(wǎng)頁,然后使用如 grep() 和 gsub() 一類的函數(shù)處理它。對于結(jié)構(gòu)復雜的網(wǎng)頁,可以使用RCurl 包和 XML 包來提取其中想要的信息。

6.導入SPSS數(shù)據(jù)

我們可以調(diào)用通過 foreign 包中的函數(shù) read.spss() 將SPSS數(shù)據(jù)集可以導入到R中,也可以使用 Hmisc 包中的 spss.get() 函數(shù)。函數(shù) spss.get() 是對 read. spss() 的一個封裝,它可以為你自動設置后者的許多參數(shù),讓整個轉(zhuǎn)換過程更加簡單一致,最后得到數(shù)據(jù)分析人員所期望的結(jié)果。使用的時候我們只需要安裝Hmisc 包,在較新的R中foreign 包已被默認安裝。

[plain] view plain copy

mydata<-spss.get("data.sav",use.value.labels=TRUE)  

      這段代碼中,data.sav 是要導入的SPSS數(shù)據(jù)文件, use.value.labels=TRUE 表示讓函數(shù)將帶有值標簽的變量導入為R中水平對應相同的因子, mydataframe 是導入后的R數(shù)據(jù)框。

7.讀入數(shù)據(jù)庫數(shù)據(jù)

在訪問數(shù)據(jù)庫的時候,我們都需要一個odbc驅(qū)動 我們需要下載安裝RODBC包。


數(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); }