数据读取四大利器
(1)read.table及其同类的read.csv和read.delim
(2)readr包的read_table、read_csv等
(3)data.table包的fread函数
(4)rio包的import函数
他们的比较在小洁老师的简书中有详尽的说明:超有诚意的R语言数据读取指南 - 简书
小洁老师在最后总结到:
对于常见格式,可以先尝试import导入(其实import是根据fread函数写的);
如果失败,再用fread读取,最多是加个参数,理论上就可以成功;
如果还是不行,哈德雷大神写的read_*系列也不是吃素的,拿来试试。
base包有点笨,但他参数多,更灵活,可以作为一个选择。
最后的最后
实在不行,可以使用readLines()将每行作为一个字符串,读取的结果是一个大的字符串向量。
别管三七二十一,先读进来,转化为一个"一列的数据框",然后再分割也是可以的。
关于分割,推荐tidyr::separate()
'''
library(tidyverse)
path=readLines("B cell receptor signaling pathway.csv")
n=str_count(path[1],",")
df=data.frame(x=path)%>%
separate(x,into=paste0("V",1:(n+1)),sep=",");dim(df)
'''
网友评论