導入數據
三種文件:逗號分隔文件(.csv文件)、制表符分隔文件(.tsv文件)、空格分隔文件(.txt文件)
讀取一般文件:
read.table(file="文件名",header=”是否將第一行作為列名,第一行為列名為TRUE,否則為FALSE“,sep="分隔符,如逗號, 制表位\t 空格不用寫sep",row.names="行名所在的列")
.csv:read.table(file,header=TRUE,sep=",",row.names="id")
也可以使用read.csv(),此函數無需設置sep參數,方便一些
.tsv:read.table(file,header=TRUE,sep="\t",row.names="id")
.txt:read.table(file,header=TRUE,row.names="id")
讀取以.gz結尾的壓縮文件
一般在R中使用gzfile()方式讀取壓縮文件,也可以使用data.table包里的fread()函數,更為方便。
具體方法如下:
先安裝並加載data.table包,使用fread()函數讀取文件,參數和上面一樣。
讀取excel文件
需要先安裝加載readxl包,該包有幾個函數可用於讀取excel文件,常用的有:read_excel(),read_xls,read_xlsx。各個函數的參數如下:
read_excel(path, sheet = NULL, range = NULL, col_names = TRUE,
col_types = NULL, na = "", trim_ws = TRUE, skip = 0,
n_max = Inf, guess_max = min(1000, n_max),
progress = readxl_progress(), .name_repair = "unique")
read_xls(path, sheet = NULL, range = NULL, col_names = TRUE,
col_types = NULL, na = "", trim_ws = TRUE, skip = 0,
n_max = Inf, guess_max = min(1000, n_max),
progress = readxl_progress(), .name_repair = "unique")
read_xlsx(path, sheet = NULL, range = NULL, col_names = TRUE,
col_types = NULL, na = "", trim_ws = TRUE, skip = 0,
n_max = Inf, guess_max = min(1000, n_max),
progress = readxl_progress(), .name_repair = "unique")
sheet:excel文件中sheet參數,可以為一個字符串、sheet名稱、整數,均表示sheet位置。默認為第一個sheet的數據。
range:sheet中單元格的范圍,例如range=A1:Q17,也可以指定某一個sheet的位置,例如range="sheet1!A1:Q9"
col_names:第一行是否為列名,TRUE代表使用第一行作為列名,FALSE代表使用默認的名字,或使用字符串或字符串向量表示第一行的名稱。
具體參數詳情點擊https://readxl.tidyverse.org/reference/read_excel.html
導出數據:
write.table()