R语言csv与txt文本读入区分
R语言用来处理数据很方便,而处理数据的第一步是把数据读入内存空间,平时最常用的文本数据储存格式有两种;
一种是CSV(逗号分隔符文本)另一种是TXT(Tab分隔符或空格分隔符),有时候读这两种文件格式读入容易混淆。
1,我们读入数据的时候,一般写文件名有两种方式:
(1)将储存数据的文件所在的目录设置为工作目录(setwd(“file path")),读文件时只需要写文件名即可
setwd('C:/Data/mydata')
data <- read.table('cancer.txt', header=TURE)
(2)不设置工作目录,读入文件时使用完整路径(包括绝对路径和相对路径)
data <- read.table('C:/Data/mydata/cancer.txt', header=TURE)
(3)我个人偏爱第一种,因为设置好目录之后我很清楚地知道我当前是在哪个目录下;这并不意味这第二种就没有意义;
当我们一开始就在系统环境下切换到某个确切的目录下(DOS和Linux都使用cd命令),这种情况下使用第二种方法也同样
只要写文件名即可。总而言之,切换目录是必须的,区别在于你是交给系统(通过cd命令切换),setwd函数还是指定确切的路径来完成。
2,使用read.table函数读入
(1)读入txt文件
data <- read.table('cancer.txt', header=TRUE)
header=TRUE代表读入数据时将第一行作为列名(若是FALSE则相反,不使用文件中第一行作为列名),也可以简写问header=T(或是header=F)
不用指定sep参数,因为read.txt函数默认参数sep='\t'。当然愿意的话你也可以指定,那样的话会显得有点多余
(2)读入csv文件
data <- read.txt('cancer.csv', header=TURE, sep=',')
必须指定sep=','不指定不会报错但是会出现你读入的数据只有一列的情况
3,使用read.csv函数读入
(1)读入txt文件
data <- read.csv('cancer.txt', header=TURE, sep='\t')
必须指定sep参数
(2)读入csv文件
data <- read.csv('cancer.csv', header=TURE)
不强制指定sep参数,因为默认sep=','
4,我推荐使用read.table函数读入txt文件,read.csv函数读入csv文件;可以少写几个字为啥不偷点懒呢?