2020国产成人精品视频,性做久久久久久久久,亚洲国产成人久久综合一区,亚洲影院天堂中文av色

分享

R語言從入門到精通:Day4

 生物_醫(yī)藥_科研 2019-07-20

上一節(jié)課我們熟悉了R語言中的各種數(shù)據(jù)類型,幫大家復(fù)習(xí)一下,這些數(shù)據(jù)類型包括了向量(vector)、矩陣(matrix)、數(shù)組(array)、數(shù)據(jù)框(data.frame)和列表(list),還提到了因子(factor)。這些數(shù)據(jù)類型在我們運(yùn)用R語言解決實際問題的時候都非常有用,在上節(jié)的例子中我們是在R里面直接生成的數(shù)據(jù),但是實際數(shù)據(jù)分析中,如何快速靈活的讀取和處理多種格式的外部數(shù)據(jù)呢?這節(jié)課的主要內(nèi)容,我們就來講講R語言中數(shù)據(jù)的讀取。

溫馨提示

1、本節(jié)內(nèi)容重點內(nèi)容較多,

      務(wù)必緊跟紅色標(biāo)記。

2、測試數(shù)據(jù)及代碼

      見文末客服小姐姐二維碼。

上節(jié)教程結(jié)束后,有同學(xué)問:我每次用R語言解決實際問題的時候都要像第3節(jié)中那樣用鍵盤將每個數(shù)據(jù)輸入電腦里面嗎?答案當(dāng)然是否定的。R語言給我們配套了多種輸入數(shù)據(jù)的方法和接口,能夠快速靈活的處理多種格式的數(shù)據(jù)(如圖1)。這節(jié)課的主要內(nèi)容就是R語言中數(shù)據(jù)的輸入。

圖1:R語言數(shù)據(jù)輸入的示意圖

下面來逐一學(xué)習(xí)不同的數(shù)據(jù)導(dǎo)入方法。

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

    要求:了解

在上一次的學(xué)習(xí)中,大家已經(jīng)接觸了很多了創(chuàng)建不同類型變量的方法,這里再給大家提供幾個從鍵盤輸入數(shù)據(jù)的方法。如圖2、圖3、圖4所示:

圖2:函數(shù)read.table()的鍵盤輸入用法

圖3:函數(shù)fix()的使用(1)

圖4:函數(shù)fix()的使用(2)

第一種方法是在創(chuàng)建data.txt字符串之后,用函數(shù)read.table()創(chuàng)建數(shù)據(jù)框data.1。這種用法可以讓我們把數(shù)據(jù)嵌入R代碼中去。此處切記,read.table()函數(shù)是我們最為常用的讀取外部數(shù)據(jù)的函數(shù),下文還會詳細(xì)解讀。

第二種方法是用函數(shù)fix()創(chuàng)建了一個和data.1一樣的數(shù)據(jù)框data.2,函數(shù)edit()也有同樣的效果,大家可以在幫助文檔里面找一下函數(shù)edit()的具體用法。

這些在處理一些小數(shù)據(jù)集的時候是很有效的,但是面對大數(shù)據(jù)的問題就力不從心了,并且也不夠靈活,而下面要介紹的方法就是要解決這兩個問題。

2. 從文本文件導(dǎo)入數(shù)據(jù)

    要求:必須掌握

在上文的第一種方法中,函數(shù)read.table()是從鍵盤輸入的字符串變量里面創(chuàng)建數(shù)據(jù)框的,這種方法并不適用,實際上read.table()函數(shù)的功能要更加強(qiáng)大一些。函數(shù)read.table()更加常用的是從帶有分隔符的文本文件中讀入數(shù)據(jù)并創(chuàng)建數(shù)據(jù)框(實際上csv文件就是常見的帶分隔符的文本文件,其分隔符是逗號“”,csv文件可以通過文本編輯器或者excel軟件創(chuàng)建,也可以是perl、python腳本的輸出結(jié)果)。

在Rstduio中輸入read之后會自動聯(lián)想出函數(shù)read.table()、read.csv()和read.csv2(),這三個函數(shù)的用法比較接近,這里就只介紹read.table(),另外兩個函數(shù)大家可以自己嘗試。

可能有些同學(xué)已經(jīng)發(fā)現(xiàn)在R的幫助文檔里面,函數(shù)read.table()的參數(shù)很多,看上去很復(fù)雜,不用擔(dān)心,實際使用中我們需要調(diào)整的參數(shù)并不多,下面列出了一些關(guān)鍵的參數(shù)用法:

表1:函數(shù)read.table()的參數(shù)及用法

以文件example.csv為例(測試數(shù)據(jù)見文末,聯(lián)系胖雨小姐姐可得)來演示一下,文件中以逗號作分隔符,每個數(shù)據(jù)都用雙引號圍住。

圖5:example的一部分?jǐn)?shù)據(jù)

文件example.csv里面前7行是主體數(shù)據(jù)的注釋,第一列是基因名。如果直接用函數(shù)read.table()讀取,如圖6。

圖6:直接讀取的示意圖

圖7:調(diào)整參數(shù)之后的示意圖

可以看到圖6中的讀取效果并不理想,在圖7中,加上skip和row.names兩個參數(shù)之后,數(shù)據(jù)就顯得有條理了。函數(shù)read.table()還有很多其他的參數(shù),感興趣的同學(xué)可以多嘗試一下。

3. 從xlsx文件讀入數(shù)據(jù)

    要求:了解

對于平時更多使用excel軟件的同學(xué)而言,xlsx格式的表格文件比csv要更常見,所以這里也提一下怎么把xlsx文件導(dǎo)入R語言(其實在excel軟件包里面,大家可以直接把xlsx文件另存為csv文件,就可以直接用函數(shù)read.table()、read.csv()和read.csv2()了)。

在有些R語言教程中,推薦了R包xlsx,但是這個包依賴與xlsxjars和rJava包(關(guān)于R包的內(nèi)容,請參考前期文章:挖掘GEO速成SCI文章系列教程(3)-R語言基礎(chǔ)),以及一個正常工作的Java,安裝起來較為麻煩。

這里我給大家推薦一個不需要這些依賴的R包:openxlsx(openxlsx包的安裝如圖8)。openxlsx包的幫助文檔里介紹了三個寫入數(shù)據(jù)和一個讀取數(shù)據(jù)的函數(shù),其中讀取數(shù)據(jù)的函數(shù)read.xlsx()就能實現(xiàn)xlsx文件的讀取。這個函數(shù)的命名和用法都和read.table()非常類似(如圖9),大家不妨自己嘗試一下如何使用這個函數(shù)。

圖8:包openxlsx的安裝

圖9:函數(shù)read.xlsx()的參數(shù)

4. 常用的數(shù)據(jù)操作函數(shù)

    要求:掌握

讀取數(shù)據(jù)之后,大家就可以開始做一些簡單的數(shù)據(jù)處理了。R語言中有很多常用的函數(shù),這里先給大家一個簡短的表格,供大家在讀取數(shù)據(jù)后做一些練習(xí)。一些更加復(fù)雜的函數(shù)在下次再集中給大家介紹。

小結(jié)

實際上數(shù)據(jù)的讀取只是R語言的冰山一角,但是也是開始一個數(shù)據(jù)分析項目的不可或缺的一步。上面只介紹了三種數(shù)據(jù)輸入的方法,也是大家在自己項目中最可能遇到的情況,R語言還可以讀取XML、網(wǎng)頁、數(shù)據(jù)庫(MySQL、Oracle等等)、SPSS和SAS等數(shù)據(jù),篇幅有限,就不一一介紹了,如果有同學(xué)需要這方面的幫助,我們也可以單獨(dú)再出一期和大家交流一下。當(dāng)然,大家在數(shù)據(jù)準(zhǔn)備和輸入過程也可能會遇到很多問題,歡迎和我們一起交流討論。

文末有本節(jié)課程的測試數(shù)據(jù)和代碼哦~~

最后跟大家嘮幾句:任何事物的學(xué)習(xí)都要循序漸進(jìn),一口吃不了個胖子,希望大家能夠沉下心來,力爭每節(jié)課都能掌握,這樣等到最后課程結(jié)束的時候,再回過來看,你會突然發(fā)現(xiàn),自己已經(jīng)掌握了R語言的精髓??傊MS著課程的推進(jìn),希望大家每天都有所收獲。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多