读写CSV文件
由于read.*函数表现不是很稳定,readr包也是一个很好的选择
读取CSV文件
persons<- readr::read_csv('data/persons.csv')
#由于read_csv与内置的read.csv()容易混淆,所以使用readr::read_csv。
写入CSV文件
readr::read_csv('data/some_data.csv',na='-')
#na指缺失值,同时日期也作为日期对象导入
读写excel文件
读取excel文件没有内置的函数,但是readxl和openxlsx包都可以读取
readxl读取
readxl::read_excel('data/prices.xlsx')
read_excel会自动将excel中的日期数据转换成R中的日期数据,并且会保留缺失值。
openxlsx读取
openxlsx::read.xlsx('data/prices.xlsx', detectDates=TRUE)
openxlsx不会自动将日期转化,必须指定detectDates=TRUE
读写原生文件
原生文件是R特有的数据格式,虽然失去了可移植性,但是原生文件不会导致数据丢失,而且读写的速度更快
读写单个对象
#保存文件
saveRDS(some_data, 'data/some_data.rds')
#读取文件
some_data2<- readRDS(' data/some_data.rds')
RDS文件可以保存任何R对象,包括但不限于数据框、列表等。
读写多个对象
save函数可以将多个对象保存到单个RData文件当中
save(some_data,nums,list1, file= 'data/bundlel.RData')
只要加载这个文件即可载入对象
load('data/bundlel.RData')