国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

初學(xué)者使用R語言讀取excel/csv/txt的注意事項(xiàng)

這篇具有很好參考價(jià)值的文章主要介紹了初學(xué)者使用R語言讀取excel/csv/txt的注意事項(xiàng)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。


本文首發(fā)于:醫(yī)學(xué)和生信筆記,完美觀看體驗(yàn)請(qǐng)至公眾號(hào)查看本文。文章來源地址http://www.zghlxwxcb.cn/news/detail-418304.html


本文面向R語言初學(xué)者,尤其是生物醫(yī)藥領(lǐng)域的初學(xué)者,大佬勿噴~

在之前的推文中,我們用兩個(gè)視頻詳細(xì)介紹了R語言、rtools、Rstudio以及R包的安裝,解決新手最先碰到的兩大難題!

接下來大家就面臨把數(shù)據(jù)讀入R語言、把數(shù)據(jù)另存為其他格式的問題!

大家在日常生活中遇到的最多的數(shù)據(jù)應(yīng)該還是Excel數(shù)據(jù),但是對(duì)于R語言來說,我們必須要把外部數(shù)據(jù)讀入到R里面,才能進(jìn)行各種操作。對(duì)于我們最后的數(shù)據(jù),可能還需要再保存為excel格式。

這兩個(gè)問題對(duì)于會(huì)的人來說非常簡單,可以有多種方法可以實(shí)現(xiàn),但是對(duì)于新手來說卻經(jīng)常遇到報(bào)錯(cuò)。今天從一個(gè)新手的角度說一說R語言的數(shù)據(jù)讀入和另存問題。

把數(shù)據(jù)讀入R語言

Excel

這個(gè)格式太常見了,大家日常生活用的大部分都是這種格式。比如有這么一個(gè)excel文件:data.xlsx,它里面的內(nèi)容是這樣的:
初學(xué)者使用R語言讀取excel/csv/txt的注意事項(xiàng)

現(xiàn)在我們需要把它讀入R里面。我推薦你使用readxl包讀取Excel文件。首先我們要安裝這個(gè)R包,如果你還不會(huì)R包安裝常見的4種方式,趕緊去看這個(gè)視頻:xxxxxxxxxxxxx。

install.packages("readxl")

安裝好之后,我們需要加載這個(gè)R包才能使用:

library(readxl)

然后我們就可以讀入這個(gè)文件了,讀取時(shí),你必須指明你的文件在哪里! 如果文件路徑?jīng)]寫對(duì),就會(huì)出現(xiàn)下面這種類似的報(bào)錯(cuò),一般情況下,它會(huì)告訴你,你的路徑?jīng)]寫對(duì),或者找不到這個(gè)文件,這個(gè)文件不存在,不能打開連接等等錯(cuò)誤!!

tmp <- read_xlsx("E:/data.xlsx", col_names = T)

## Error: `path` does not exist: ‘E:/R/data.xlsx’

這個(gè)時(shí)候你就要去確認(rèn)下,你的這個(gè)data.xlsx文件到底在哪里!當(dāng)你給它正確的路徑時(shí),它就不會(huì)報(bào)錯(cuò)。還要注意/ \ , " ",這些標(biāo)點(diǎn)一定要在英文狀態(tài)下輸入!

tmp <- read_xlsx("E:/R/data.xlsx", col_names = T)

tmp
## # A tibble: 29 × 6
##     編號(hào) 治療方式 性別   年齡 收縮壓  血糖
##    <dbl> <chr>    <chr> <dbl>  <dbl> <dbl>
##  1     1 方法1    男       56    134   6.3
##  2     2 方法2    女       45    123   4.6
##  3     3 方法3    男       67    112   7.4
##  4     4 方法4    女       56    113   8.5
##  5     5 方法5    男       78    115   6.3
##  6     6 方法6    女       56    116   4.6
##  7     7 方法7    男       67    134   7.4
##  8     8 方法8    女       45    123   8.5
##  9     9 方法9    男       67    112   6.3
## 10    10 方法10   女       87    113   4.6
## # … with 19 more rows
## # ? Use `print(n = ...)` to see more rows

這樣我們就成功把文件讀取到R里面了!

除了路徑問題,對(duì)于新手還有幾個(gè)點(diǎn)需要注意:

  • 這個(gè)示例文件是有列名的,所以在讀取的時(shí)候加了col_names=T這個(gè)參數(shù),沒有行名就要改成F;
  • 如果你的數(shù)據(jù)使用了合并/拆分單元格、各種格式、公式等,會(huì)報(bào)錯(cuò)!
  • 這個(gè)文件是.xlsx格式的,如果不是,那你需要用其他函數(shù),比如read_xls()函數(shù)讀取.xls結(jié)尾的文件;
  • 如果你讀取中文遇到亂碼問題,那大概率是遇到了編碼問題,這是一個(gè)很復(fù)雜的問題:
    • 首先你可以通過點(diǎn)擊rstudio中的Tools - Global Options,到達(dá)以下界面,把默認(rèn)編碼方式改為utf-8,然后關(guān)閉rstudio,重新讀取;
      [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-0LkHBpNt-1668216404004)(C:\Users\liyue\Desktop\Snipaste_2022-07-31_19-13-14.png)]
    • 有時(shí)直接升級(jí)R包/R/rstudio/,重新保存文件為utf-8等方式也可以解決問題;
    • 如果都不行,直接百度!具體情況具體分析!

csv

csv文件是一種逗號(hào)分隔文件,打開后和excel看起來一模一樣,你不要問為什么看不到逗號(hào)…
初學(xué)者使用R語言讀取excel/csv/txt的注意事項(xiàng)

一般推薦把excel文件另存為csv文件,因?yàn)榉奖鉘語言讀取,不需要安裝R包也可以讀取~

csv <- read.csv("E:/R/data.csv", header = T)

csv
##    編號(hào) 治療方式 性別 年齡 收縮壓 血糖
## 1     1    方法1   男   56    134  6.3
## 2     2    方法2   女   45    123  4.6
## 3     3    方法3   男   67    112  7.4
## 4     4    方法4   女   56    113  8.5
## 5     5    方法5   男   78    115  6.3
## 6     6    方法6   女   56    116  4.6
## 7     7    方法7   男   67    134  7.4
## 8     8    方法8   女   45    123  8.5
## 9     9    方法9   男   67    112  6.3
## 10   10   方法10   女   87    113  4.6
## 11   11   方法11   男   56    115  7.4
## 12   12   方法12   女   78    116  8.5
## 13   13   方法13   男   67    134  6.3
## 14   14   方法14   女   56    123  4.6
## 15   15   方法15   男   78    112  7.4
## 16   16   方法16   女   56    113  8.5
## 17   17   方法17   男   45    115  6.3
## 18   18   方法18   女   67    116  4.6
## 19   19   方法19   男   56    134  7.4
## 20   20   方法20   女   78    123  8.5
## 21   21   方法21   男   56    112  6.3
## 22   22   方法22   女   67    113  4.6
## 23   23   方法23   男   45    115  7.4
## 24   24   方法24   女   67    116  8.5
## 25   25   方法25   男   87    134  6.3
## 26   26   方法26   女   56    123  4.6
## 27   27   方法27   男   78    112  7.4
## 28   28   方法28   女   67    113  8.5
## 29   29   方法29   男   56    115  6.3

或者用read.table()函數(shù)讀取。

csv <- read.table("E:/R/data.csv", header = T,
                  sep = "," # 指定分隔符!!
                  )

csv
##    編號(hào) 治療方式 性別 年齡 收縮壓 血糖
## 1     1    方法1   男   56    134  6.3
## 2     2    方法2   女   45    123  4.6
## 3     3    方法3   男   67    112  7.4
## 4     4    方法4   女   56    113  8.5
## 5     5    方法5   男   78    115  6.3
## 6     6    方法6   女   56    116  4.6
## 7     7    方法7   男   67    134  7.4
## 8     8    方法8   女   45    123  8.5
## 9     9    方法9   男   67    112  6.3
## 10   10   方法10   女   87    113  4.6
## 11   11   方法11   男   56    115  7.4
## 12   12   方法12   女   78    116  8.5
## 13   13   方法13   男   67    134  6.3
## 14   14   方法14   女   56    123  4.6
## 15   15   方法15   男   78    112  7.4
## 16   16   方法16   女   56    113  8.5
## 17   17   方法17   男   45    115  6.3
## 18   18   方法18   女   67    116  4.6
## 19   19   方法19   男   56    134  7.4
## 20   20   方法20   女   78    123  8.5
## 21   21   方法21   男   56    112  6.3
## 22   22   方法22   女   67    113  4.6
## 23   23   方法23   男   45    115  7.4
## 24   24   方法24   女   67    116  8.5
## 25   25   方法25   男   87    134  6.3
## 26   26   方法26   女   56    123  4.6
## 27   27   方法27   男   78    112  7.4
## 28   28   方法28   女   67    113  8.5
## 29   29   方法29   男   56    115  6.3

是不是很簡單,注意點(diǎn)和excel一樣~

txt

txt文件也是我們常見的文件類型,通常這種數(shù)據(jù)也是可以直接讀取的,不同安裝R包。

現(xiàn)在我們有一個(gè)這樣的txt文件,它可能看起來不規(guī)整,但其實(shí)是規(guī)整的哦~~,不要被表象迷惑,也千萬不要試圖用空格鍵把它對(duì)齊!!
初學(xué)者使用R語言讀取excel/csv/txt的注意事項(xiàng)

txt是tab鍵分隔的文件,在讀取時(shí),一定要指定分隔符:

tmp <- read.table("tmp.txt",sep = "\t", # 必須要指定分隔符
                  header = T)
tmp
##    編號(hào) 治療方式 性別 年齡 收縮壓 血糖
## 1     1    方法1   男   56    134  6.3
## 2     2    方法2   女   45    123  4.6
## 3     3    方法3   男   67    112  7.4
## 4     4    方法4   女   56    113  8.5
## 5     5    方法5   男   78    115  6.3
## 6     6    方法6   女   56    116  4.6
## 7     7    方法7   男   67    134  7.4
## 8     8    方法8   女   45    123  8.5
## 9     9    方法9   男   67    112  6.3
## 10   10   方法10   女   87    113  4.6
## 11   11   方法11   男   56    115  7.4
## 12   12   方法12   女   78    116  8.5
## 13   13   方法13   男   67    134  6.3
## 14   14   方法14   女   56    123  4.6
## 15   15   方法15   男   78    112  7.4
## 16   16   方法16   女   56    113  8.5
## 17   17   方法17   男   45    115  6.3
## 18   18   方法18   女   67    116  4.6
## 19   19   方法19   男   56    134  7.4
## 20   20   方法20   女   78    123  8.5
## 21   21   方法21   男   56    112  6.3
## 22   22   方法22   女   67    113  4.6
## 23   23   方法23   男   45    115  7.4
## 24   24   方法24   女   67    116  8.5
## 25   25   方法25   男   87    134  6.3
## 26   26   方法26   女   56    123  4.6
## 27   27   方法27   男   78    112  7.4
## 28   28   方法28   女   67    113  8.5
## 29   29   方法29   男   56    115  6.3

其他

如果是spss軟件產(chǎn)生的.sav文件,可以使用foreign包中的read.spss()函數(shù)讀取,或者使用haven包中的read_sav()。

這兩個(gè)包在使用前需要先安裝哦~

# foreign包讀取
library(foreign)
spss <- foreign::read.spss("例03-05.sav",to.data.frame = T)

spss
##    no  hb
## 1   1 112
## 2   2 137
## 3   3 129
## 4   4 126
## 5   5  88
## 6   6  90
## 7   7 105
## 8   8 178
## 9   9 130
## 10 10 128
## 11 11 126
## 12 12 103
## 13 13 172
## 14 14 116
## 15 15 125
## 16 16  90
## 17 17  96
## 18 18 162
## 19 19 157
## 20 20 151
## 21 21 135
## 22 22 113
## 23 23 175
## 24 24 129
## 25 25 165
## 26 26 171
## 27 27 128
## 28 28 128
## 29 29 160
## 30 30 110
## 31 31 140
## 32 32 163
## 33 33 100
## 34 34 129
## 35 35 116
## 36 36 127
# haven包讀取
library(haven)
spss <- read_sav("例03-05.sav")

spss
## # A tibble: 36 × 2
##       no    hb
##    <dbl> <dbl>
##  1     1   112
##  2     2   137
##  3     3   129
##  4     4   126
##  5     5    88
##  6     6    90
##  7     7   105
##  8     8   178
##  9     9   130
## 10    10   128
## # … with 26 more rows
## # ? Use `print(n = ...)` to see more rows

這個(gè)例子是比較簡單的,有時(shí)候需要指定特定的編碼方式,可以通過使用?read_sav/?read.spss查看更改編碼的方式。

haven這個(gè)包是專門設(shè)計(jì)用來讀取spss/SAS/STATA格式的文件的~

如果是rdata/Rdata/RData文件,這個(gè)是R自帶的格式,直接load()即可,但是要注意一定要寫對(duì)文件路徑??! 或者也可以直接雙擊rdata/Rdata/RData文件!

load(file = "tmp.rdata")
tmp
##    編號(hào) 治療方式 性別 年齡 收縮壓 血糖
## 1     1    方法1   男   56    134  6.3
## 2     2    方法2   女   45    123  4.6
## 3     3    方法3   男   67    112  7.4
## 4     4    方法4   女   56    113  8.5
## 5     5    方法5   男   78    115  6.3
## 6     6    方法6   女   56    116  4.6
## 7     7    方法7   男   67    134  7.4
## 8     8    方法8   女   45    123  8.5
## 9     9    方法9   男   67    112  6.3
## 10   10   方法10   女   87    113  4.6
## 11   11   方法11   男   56    115  7.4
## 12   12   方法12   女   78    116  8.5
## 13   13   方法13   男   67    134  6.3
## 14   14   方法14   女   56    123  4.6
## 15   15   方法15   男   78    112  7.4
## 16   16   方法16   女   56    113  8.5
## 17   17   方法17   男   45    115  6.3
## 18   18   方法18   女   67    116  4.6
## 19   19   方法19   男   56    134  7.4
## 20   20   方法20   女   78    123  8.5
## 21   21   方法21   男   56    112  6.3
## 22   22   方法22   女   67    113  4.6
## 23   23   方法23   男   45    115  7.4
## 24   24   方法24   女   67    116  8.5
## 25   25   方法25   男   87    134  6.3
## 26   26   方法26   女   56    123  4.6
## 27   27   方法27   男   78    112  7.4
## 28   28   方法28   女   67    113  8.5
## 29   29   方法29   男   56    115  6.3

如果是rds文件,這個(gè)也是R常用的格式,使用readRDS()函數(shù)即可,也要注意文件路徑

tmp <- readRDS(file = "tmp.rds") 
tmp
##    編號(hào) 治療方式 性別 年齡 收縮壓 血糖
## 1     1    方法1   男   56    134  6.3
## 2     2    方法2   女   45    123  4.6
## 3     3    方法3   男   67    112  7.4
## 4     4    方法4   女   56    113  8.5
## 5     5    方法5   男   78    115  6.3
## 6     6    方法6   女   56    116  4.6
## 7     7    方法7   男   67    134  7.4
## 8     8    方法8   女   45    123  8.5
## 9     9    方法9   男   67    112  6.3
## 10   10   方法10   女   87    113  4.6
## 11   11   方法11   男   56    115  7.4
## 12   12   方法12   女   78    116  8.5
## 13   13   方法13   男   67    134  6.3
## 14   14   方法14   女   56    123  4.6
## 15   15   方法15   男   78    112  7.4
## 16   16   方法16   女   56    113  8.5
## 17   17   方法17   男   45    115  6.3
## 18   18   方法18   女   67    116  4.6
## 19   19   方法19   男   56    134  7.4
## 20   20   方法20   女   78    123  8.5
## 21   21   方法21   男   56    112  6.3
## 22   22   方法22   女   67    113  4.6
## 23   23   方法23   男   45    115  7.4
## 24   24   方法24   女   67    116  8.5
## 25   25   方法25   男   87    134  6.3
## 26   26   方法26   女   56    123  4.6
## 27   27   方法27   男   78    112  7.4
## 28   28   方法28   女   67    113  8.5
## 29   29   方法29   男   56    115  6.3

常見的就是這些,當(dāng)你掌握這些簡單的之后,你可以嘗試更加復(fù)雜的,以后肯定也會(huì)遇到,不過有了這些簡單的作為基礎(chǔ),相信你能更快的解決這類問題~

寫出文件(從R語言另存為其他格式)

寫出文件我覺得比讀取文件要簡單一點(diǎn),如果你實(shí)在不知道怎么保存,有個(gè)簡便方法,在這個(gè)地方:
初學(xué)者使用R語言讀取excel/csv/txt的注意事項(xiàng)

直接點(diǎn)擊保存,就會(huì)在你當(dāng)前工作目錄產(chǎn)生一個(gè)RData文件,下次直接load或者雙擊即可快速打開你的所有東西?。?!

不太推薦直接保存為excel格式,建議使用csv格式。

如果是想把當(dāng)前文件保存為csv文件,可以使用以下函數(shù):

# 把tmp這個(gè)數(shù)據(jù)框保存為csv
write.csv(tmp, # 要保存的對(duì)象
          file = "D:/111.csv", # 保存到哪里,保存為什么格式,.csv不要忘記!
          quote = F, # 不加引號(hào)
          row.names = F, # 行名
          col.names = T # 列名
          )

write.table(tmp,
            file = "D:/111.csv", # 保存到哪里,保存為什么格式,.csv不要忘記!
            sep = ",",  # 必須指定分隔符!??!
            quote = F, # 不加引號(hào)
            row.names = F, # 行名
            col.names = T # 列名
            )

如果要保存為或者txt文件,可以使用以下函數(shù):

write.table(tmp,
            file = "D:/222.txt",
            sep = "\t", # 千萬別忘記指定分隔符??!
            quote = F, # 不加引號(hào)
            row.names = F, # 行名
            col.names = T # 列名
            )

如果要保存為rdata/Rdata/RData文件,直接用save()函數(shù),簡單方便,下次直接load即可,還可以同時(shí)保存多個(gè)對(duì)象!!

推薦大家平時(shí)保存時(shí)選擇rdata/Rdata/RData/rds,方便,官方!

save(tmp,csv, # 同時(shí)保存多個(gè)對(duì)象
     file = "tmp1.rdata")

保存為rds格式:

saveRDS(tmp, file = "tmp.rds")

以上就是常見的數(shù)據(jù)讀取和寫出,最后再說一遍注意點(diǎn):

  • 輸入法需要是英文狀態(tài)下的標(biāo)點(diǎn)符號(hào)!
  • 文件路徑必須寫對(duì)!
  • 注意不同文件的分隔符!
  • 不同文件使用不同函數(shù)讀取/寫出!不要所有的格式都用一個(gè)!
  • 如果碰到不知道的格式讀取,直接百度??!99.999%能解決你的問題!

希望大家以后再也不要碰到數(shù)據(jù)讀取問題!


本文首發(fā)于:醫(yī)學(xué)和生信筆記,完美觀看體驗(yàn)請(qǐng)至公眾號(hào)查看本文。


到了這里,關(guān)于初學(xué)者使用R語言讀取excel/csv/txt的注意事項(xiàng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包