乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      R如何直接讀取Excel表格數(shù)據(jù)?

       生物_醫(yī)藥_科研 2019-01-23

      對(duì)于24K純生信小白來(lái)說(shuō),數(shù)據(jù)準(zhǔn)備絕對(duì)是一件令人頭疼的問(wèn)題。


      還記得我第一次用ClustalX做序列Alinment時(shí)一直不出結(jié)果,折騰了一下午偶然發(fā)現(xiàn)出錯(cuò)僅僅因?yàn)槲募侵形牡?。?jīng)過(guò)這次教訓(xùn)以后,自己也養(yǎng)成了個(gè)習(xí)慣,不管是文件名還是表格內(nèi)容絕不用中文,哪怕是用拼音表示。


      《你可能需要一個(gè)功能強(qiáng)大一點(diǎn)的文本編輯器……》一文,已介紹過(guò)用Notepad++查看Excel中不容易發(fā)現(xiàn)的格式錯(cuò)誤??蛇€是有小白不知道啥是“制表符”,啥是文件拓展名,有時(shí)錯(cuò)誤地將Excel表格另存成Unicode文本(*.txt)文件被虐得不要不要的。


      像我這樣 比較懶 心疼小白的人,不禁想問(wèn)就不能省去Excel轉(zhuǎn)制表符分隔的txt文件這一步,直接導(dǎo)入Excel數(shù)據(jù)嗎?


      其實(shí),R有很多包可以實(shí)現(xiàn)xlsx格式數(shù)據(jù)的導(dǎo)入和導(dǎo)出,下面給大家介紹3個(gè)R包。


      xlsx包


      xlsx 包比較強(qiáng)大,可以導(dǎo)入和導(dǎo)出Excel 文檔(xls 和 xlsx格式)。


      它是一個(gè)基于java的R包。主要通過(guò) read.xlsx() 和read.xlsx2() 以R數(shù)據(jù)框的形式讀入 Excel sheet。二者的區(qū)別是read.xlsx2()讀取數(shù)據(jù)量的大(超過(guò)100 000個(gè)單元格)的表格更快。

       

      read.xlsx(file, sheetIndex, header=TRUE, colClasses=NA)


      read.xlsx2(file, sheetIndex, header=TRUE,colClasses='character')

       

      file :讀入文件路徑

      sheetIndex : 讀入Excel文檔的表格(sheet)序號(hào)

      header : 第一行是否為變量名

      colClasses : 列的數(shù)據(jù)類型

       

      示例:

       

      #加載xlsx包

      library(xlsx)

       

      #讀入工作目錄中的Excel格式數(shù)據(jù)

      st1 <- read.xlsx('mtcars.xlsx',="">

      #讀入指定目錄中的Excel格式數(shù)據(jù)

      st2 <- read.xlsx(file='C:\\Users\\MHY\\Desktop\\mtcars.xlsx' ,="">



      相應(yīng)的,導(dǎo)出數(shù)據(jù)的函數(shù)也有兩個(gè),

       

      write.xlsx(x, file, sheetName='Sheet1',col.names=TRUE, row.names=TRUE, append=FALSE)


      write.xlsx2(x, file, sheetName='Sheet1',col.names=TRUE, row.names=TRUE, append=FALSE)

       

      x :需要導(dǎo)出的數(shù)據(jù)框

      file :到出文件的路徑

      sheetName : 導(dǎo)出后生成表格(sheet)的名稱

      col.names, row.names : 是否導(dǎo)出數(shù)據(jù)框的行名和列名

      append : 是否以追加新sheet方式將數(shù)據(jù)導(dǎo)出到已有Excel文檔中

       

      示例:


      #導(dǎo)出R自帶mtcars數(shù)據(jù)為Excel數(shù)據(jù)

      write.xlsx(mtcars, file='C:\\Users\\MHY\\Desktop\\mtcars.xlsx', sheetName='mtcars')


      #在導(dǎo)出的表中追加新的sheet(R自帶數(shù)據(jù)cars);

      write.xlsx(cars, file='C:\\Users\\MHY\\Desktop\\mtcars.xlsx', sheetName='cars',append=TRUE)



      此外,還可調(diào)整完全用R腳本去創(chuàng)建1個(gè)空的Excel文檔,設(shè)置單元格格式,以及在Excel表格中添加R繪制的圖表等,這里就不多做介紹。

       

      readxl包


      readxl 可以很簡(jiǎn)單的將Excel文檔讀入到R中,R包不需要依賴java環(huán)境, 非常容易安裝。如果只是讀入Excel數(shù)據(jù),也夠用了。主要有read_xls()、read_xlsx()和read_excel()3個(gè)函數(shù)讀入數(shù)據(jù),三者參數(shù)一致,只不過(guò)read_excel()會(huì)自動(dòng)判定數(shù)據(jù)是xls或xlsx那種類型。

       

      read_excel(path,sheet = NULL, range = NULL, col_names = TRUE, skip = 0,…)

       

      path : 讀入文件路徑

      sheet :  讀入Excel文檔的表格(sheet)序號(hào)或名稱

      range : 讀入數(shù)據(jù)區(qū)域,比如 'B3:D87','sheet2!B2:G14'

      col_names : 第1行是否作為列名讀入

       

      示例:

       

      library(readxl)

      re<-read_excel(path ='c:\\users\\mhy\\desktop\\mtcars.xlsx',sheet="">



      openxlsx包


      類似readxl包,openxlsx包也可以很簡(jiǎn)單的將Excel文檔讀入到R中。

       

      read.xlsx(xlsxFile, sheet = 1, startRow =1, colNames = TRUE,  rowNames = FALSE, …)

       

      xlsxFile : 讀入文件路徑

      sheet :  讀入Excel文檔的表格(sheet)序號(hào)或名稱

      startRow :  從那一行開(kāi)始讀入數(shù)據(jù)

      colNames : 如果為TRUE,第一行數(shù)據(jù)作為列名

      rowNames :   如果為TRUE, 第一列數(shù)據(jù)作為行名

       

      示例:

       

      library(openxlsx)

      op<-read.xlsx(xlsxfile ='c:\\users\\mhy\\desktop\\mtcars.xlsx',sheet="">

       

       

      R包的安裝


      xlsx包的安裝需要先安裝Java。如果之前安裝過(guò)Java,比如裝過(guò)Cytoscape,仍然建議重新安裝下Java,否則可能會(huì)因Java版本過(guò)期遇到下圖這樣的報(bào)錯(cuò)信息。


       

      從官網(wǎng)下載Java的安裝包,直接安裝即可,安裝過(guò)程中會(huì)自動(dòng)檢測(cè)和卸載過(guò)期的版本。

      地址:https://www./en/download/windows-64bit.jsp

       


      成功安裝Java之后是這樣的,之后就可以通過(guò)install.packages('xlsx') 安裝xlsx包了。



      readxl包和openxlsx包的安裝比較簡(jiǎn)單,直接使用install.packages()函數(shù)安裝即可。

       

      最后,從功能上來(lái)將xlsx包的功能是最強(qiáng)大的,但它的安裝需要依賴Java環(huán)境。如何只是導(dǎo)入Excel數(shù)據(jù),用readxl和openxlsx包就可以了,畢竟用R基礎(chǔ)函數(shù)write.table()導(dǎo)出的文本文件也可以用Excel打開(kāi)。



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

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多