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

熱線電話:13121318867

登錄
首頁(yè)精彩閱讀R語言的數(shù)據(jù)導(dǎo)入與導(dǎo)出學(xué)習(xí)筆記
R語言的數(shù)據(jù)導(dǎo)入與導(dǎo)出學(xué)習(xí)筆記
2018-03-18
收藏

R語言的數(shù)據(jù)導(dǎo)入與導(dǎo)出學(xué)習(xí)筆記

福爾·摩斯曾說過:“數(shù)據(jù),數(shù)據(jù),沒有數(shù)據(jù)的推理是罪惡!”不過比起有意思的統(tǒng)計(jì)分析,數(shù)據(jù)的導(dǎo)入與導(dǎo)出顯得十分的無趣,但是不得不說統(tǒng)計(jì)分析的數(shù)據(jù)導(dǎo)入與導(dǎo)出是個(gè)讓人沮喪的任務(wù),而且耗時(shí)巨大。

今天分享的是R中數(shù)據(jù)的輸出與一些特定格式的數(shù)據(jù)讀入。

一、數(shù)據(jù)的輸出
       R中提供了write.table(),cat()等函數(shù)來導(dǎo)出數(shù)據(jù)。不過值得指出的是R語言能夠?qū)С龅臄?shù)據(jù)格式是有限的,比如在基本包中,我們能夠?qū)С鰯?shù)據(jù)的格式只有txt,csv。

現(xiàn)在介紹一下兩個(gè)函數(shù)的用法:

write.table(x, file = "", append =FALSE, quote = TRUE, sep = " ",

eol = "\n", na = "NA", dec = ".",row.names = TRUE,

col.names = TRUE, qmethod = c("escape", "double"),

fileEncoding = "")


write.csv(...)

write.csv2(...)

write.csv(),write.csv2()可以看做write.table()的變體,我們知道write.csv(),與參數(shù)sep=“,”的write.table()是等效的。下面介紹幾個(gè)常見參數(shù):

x:數(shù)據(jù)集

file:文件的路徑,包括文件名如:”D:/R/data/data1.csv”

quote:數(shù)據(jù)在寫入文件中時(shí)我們常用引號(hào)將其隔開,當(dāng)參數(shù)為F時(shí),文件中的數(shù)據(jù)不再用引號(hào)修飾

append:是否追加,如果文件名已存在而沒有選擇追加,那么文件將會(huì)被覆蓋。(覆蓋時(shí)是沒有提示的,所以命名需要注意一些。

cat(... , file = "", sep = " ", fill = FALSE, labels = NULL,    append = FALSE)

cat()作為一個(gè)輸出函數(shù)與dos命令差不多,也是將數(shù)據(jù)集或數(shù)據(jù)寫入文件中,常用參數(shù)和write.table()類似。

cat()函數(shù)用來輸出,可以把多個(gè)參數(shù)連接起來再輸出(具有paste()的功能)。例如:

> cat(c("AB", "C"),c("E", "F"), "n", sep="/ ")

AB/ C/ E/ F/ n

還可以指定一個(gè)參數(shù)file=給一個(gè)文件名,可以把結(jié)果寫到指定的文件中,如: > cat("i = ", 1, "n", file="d:/R/data2.txt")如果指定的文件已經(jīng)存在則原來內(nèi)容被覆蓋。加上一個(gè)append=TRUE參數(shù)可以不覆蓋原文件而是在文件末尾附加,這很適用于運(yùn)行中的結(jié)果記錄。

當(dāng)然cat()的用法比較豐富,也可以用來查看文件,與format合用控制輸出格式等。

二、數(shù)據(jù)的導(dǎo)入

先介紹R中基本的讀取數(shù)據(jù)函數(shù)read.table()的用法:

read.table(file, header = FALSE, sep = "", quote = "\"'",           dec = ".", row.names, col.names,           as.is = !stringsAsFactors,           na.strings = "NA", colClasses = NA, nrows = -1,           skip = 0, check.names = TRUE, fill = !blank.lines.skip,           strip.white = FALSE, blank.lines.skip = TRUE,           comment.char = "#",           allowEscapes = FALSE, flush = FALSE,           stringsAsFactors = default.stringsAsFactors(),           fileEncoding = "", encoding = "unknown", text) read.csv(file, header = TRUE, sep = ",", quote="\"", dec=".",         fill = TRUE, comment.char="", ...) read.csv2(file, header = TRUE, sep = ";", quote="\"", dec=",",          fill = TRUE, comment.char="", ...) read.delim(file, header = TRUE, sep = "\t", quote="\"", dec=".",           fill = TRUE, comment.char="", ...) read.delim2(file, header = TRUE, sep = "\t", quote="\"", dec=",",            fill = TRUE, comment.char="", ...)

介紹常用參數(shù):

File:文件路徑,可以用絕對(duì)路徑也可以用相對(duì)路徑,R的工作目錄你可以使用getwd()來查看,用setwd()來改。

Header:讀取文件的第一行是否用作變量名

Sep:分隔符,參數(shù)為“,“時(shí)等價(jià)于read.csv()

Scan()函數(shù)也是一個(gè)讀取數(shù)據(jù)比較好的函數(shù),但是參數(shù)較為復(fù)雜,我們可以說,read.table()函數(shù)是scan函數(shù)的設(shè)定好部分參數(shù)的結(jié)果。

Read.delim()這個(gè)可以讀到剪貼板的東西,用法為read.delim(clipboard)其他參數(shù)與read.table相同。

Read.fwf()讀取固定長(zhǎng)度的數(shù)據(jù),也可以利用這個(gè)特性截去數(shù)據(jù)的尾巴或者表格的尾巴。


自帶的foreign包可以實(shí)現(xiàn)s-plus,sas,spss,stata的數(shù)據(jù)讀入。以讀stata數(shù)據(jù)為例:

>Read.dta(“d:/R/data3.dta”)其他參數(shù)與read.table也是一樣的。


遺憾的是,基本包與foreign包都沒有辦法讀取excel的數(shù)據(jù)。但這并不代表我們沒辦法讀取excel的數(shù)據(jù)。例如我們可以將excel的數(shù)據(jù)放在剪貼板中,通過read.delim(clipbroad)來讀取。也可以將excel表格變成csv格式的再處理。最后指出,R中的gdata包的read.xls函數(shù)以及RODBC包中也有相應(yīng)的處理函數(shù)。


本文的最后,運(yùn)用R語言的幫助文檔《R數(shù)據(jù)的導(dǎo)入與導(dǎo)出》中的一段話作為結(jié)束:“In general, statistical systems like R arenot particularly well suited to manipulations of large-scale data. Some othersystems are better than R at this, and part of the thrust of this manual is tosuggest that rather than duplicating functionality in R we can make anothersystem do the work! (For example Therneau & Grambsch (2000) commented thatthey preferred to do data manipulation in SAS and then use packagesurvivalin S for the analysis.)”


數(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ù)說明請(qǐng)參見: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); }