R语言中的read.table()
- read.table(file, header = FALSE, sep = "", quote = "\"'",
- dec = ".", numerals = c("allow.loss", "warn.loss", "no.loss"),
- row.names, col.names, as.is = !stringsAsFactors,
- na.strings = "NA", colClasses = NA, nrows = -1,
- skip = 0, check.names = TRUE, fill = !blank.lines.skip,
- strip.white = FALSE, blank.lines.skip = TRUE,
- comment.char = "#",
- allowEscapes = FALSE, flush = FALSE,
- stringsAsFactors = default.stringsAsFactors(),
- fileEncoding = "", encoding = "unknown", text, skipNul = FALSE)
file 指定读入的文件
header 是否有列名(默认无)
seq 指定分隔符(空格、TAB、换行符、回车符)
quote 制定包围字符型数据的字符。默认情况下,字符串可以被 " 或 ’ 括起,并且两种情况下,引号内部的字符都作为字符串的一部分。有效的引用字符(可能没有)的设置由参数 quote 控制。默认值改为 quote = “”
dec = “.” 指定小数点数
colClasses 指定列的数据类型格式
row.names 指定各行名称,也可以是数字,指定某列为行名
col.names
as.is = !stringsAsFactors as.is 字符向量是否转换成因子(仅仅这个功能),TRUE时保留为字符型
na.strings = “NA” 指定什么样的字符表示值缺少
colClasses = NA colClasses运行为输入中的每个列设置需要的类型。注意,colClasses 和 as.is 对每 列专用,而不是每个变量。因此,它对行标签列也同样适用(如果有的话)。
nrows = -1 最大读入行数,即读入前多少行,“-1”表示都读入
skip = 0 跳过文件的前n行(skip = n)
check.names = TRUE # 检查变量名在R中是否有效
fill = !blank.lines.skip 从一个电子表格中导出的文件通常会把拖尾的空字段(包括?堑姆指舴? 忽略掉。为了读取这样的文件,必须设置参数 fill = TRUE
strip.white = FALSE 如果设定了分隔符,字符字段起始和收尾处的空白会作为字段一部分看待的。为了去掉这些空白,可以使用参数 strip.white = TRUE
blank.lines.skip = TRUE 默认情况下,read.table 忽略空白行。这可以通过设置 blank.lines.skip = FALSE 来改变。但这个参数只有在和 fill = TRUE 共同使用时才有效。这时,可能是用空白行表明规则数据中的缺损样本。
comment.char = “#” 默认情况下,read.table 用 # 作为注释标识字符。如果碰到该字符(除了在被引用的字符串内),该行中随后的内容将会被忽略。只含有空白和注释的行被当作空白行。如果确认数据文件中没有注释内容,用 comment.char = “” 会比较安全 (也可能让速度比较快)。
allowEscapes = FALSEread.table 和 scan 都有一个逻辑参数 allowEscapes。从 R 2.2.0 开始,该参数默认为否,而且反斜杠是唯一被解释为逃逸引用符的字符(在前面描述的环境中)。如果该参数设为是,以C形式的逃逸规则解释,也就是控制符如 , , , , , , 八进制和十六进制如 40 和 x2A 一样描述。任何其它逃逸字符都看着是自己,包括反斜杠
women1.txt
- name height weight tmp
- stu1 58 115 1.1
- stu2 59 117 1.2
- stu3 60 120 1.3
- stu4 61 123 1.4
- stu5 62 126 1.5
- stu6 63 129 1.6
- stu7 64 132 1.7
- stu8 65 135 1.8
- stu9 66 139 1.9
- stu10 67 142 2
- stu11 68 146 2.1
- stu12 69 150 2.2
- stu13 70 154 2.3
- stu14 71 159 2.4
- stu15 72 164 2.5
- ## 基本参数
- dataset1 <- read.table("./women1.txt", header = T, sep = "\t")
- head(dataset1)
- ## name height weight tmp
- ## 1 stu1 58 115 1.1
- ## 2 stu2 59 117 1.2
- ## 3 stu3 60 120 1.3
- ## 4 stu4 61 123 1.4
- ## 5 stu5 62 126 1.5
- ## 6 stu6 63 129 1.6
- dataset1$name
- ## [1] stu1 stu2 stu3 stu4 stu5 stu6 stu7 stu8 stu9 stu10 stu11
- ## [12] stu12 stu13 stu14 stu15
- ## 15 Levels: stu1 stu10 stu11 stu12 stu13 stu14 stu15 stu2 stu3 ... stu9
- class(dataset1$name)
- ## [1] "factor"
- is.factor(dataset1$name)
- ## [1] TRUE
- dataset1 <- read.table("./women1.txt", header = T, sep = "\t", as.is = T)
- head(dataset1)
- ## name height weight tmp
- ## 1 stu1 58 115 1.1
- ## 2 stu2 59 117 1.2
- ## 3 stu3 60 120 1.3
- ## 4 stu4 61 123 1.4
- ## 5 stu5 62 126 1.5
- ## 6 stu6 63 129 1.6
- dataset1$name
- ## [1] "stu1" "stu2" "stu3" "stu4" "stu5" "stu6" "stu7" "stu8"
- ## [9] "stu9" "stu10" "stu11" "stu12" "stu13" "stu14" "stu15"
- class(dataset1$name)
- ## [1] "character"
- is.factor(dataset1$name)
- ## [1] FALSE
- ## skip = 0 跳过文件的前n行(skip = n)
- dataset2 <- read.table("./women1.txt", header = T, sep = "\t", skip = 3)
- head(dataset2)
- ## stu3 X60 X120 X1.3
- ## 1 stu4 61 123 1.4
- ## 2 stu5 62 126 1.5
- ## 3 stu6 63 129 1.6
- ## 4 stu7 64 132 1.7
- ## 5 stu8 65 135 1.8
- ## 6 stu9 66 139 1.9
- dataset2 <- read.table("./women1.txt", header = F, sep = "\t", skip = 3)
- head(dataset2)
- ## V1 V2 V3 V4
- ## 1 stu3 60 120 1.3
- ## 2 stu4 61 123 1.4
- ## 3 stu5 62 126 1.5
- ## 4 stu6 63 129 1.6
- ## 5 stu7 64 132 1.7
- ## 6 stu8 65 135 1.8
- ## nrows = -1 最大读入行数,“-1”表示都读入
- dataset3 <- read.table("./women1.txt", header = T, sep = "\t", nrows = 3)
- head(dataset3)
- ## name height weight tmp
- ## 1 stu1 58 115 1.1
- ## 2 stu2 59 117 1.2
- ## 3 stu3 60 120 1.3
- dataset3 <- read.table("./women1.txt", header = F, sep = "\t", nrows = 3)
- head(dataset3)
- ## V1 V2 V3 V4
- ## 1 name height weight tmp
- ## 2 stu1 58 115 1.1
- ## 3 stu2 59 117 1.2
- ## 指定行名
- dataset4 <- read.table("./women1.txt", header = T, sep = "\t", row.names = 1) # **表中第一行一列元素被跳过**
- head(dataset4)
- ## height weight tmp
- ## stu1 58 115 1.1
- ## stu2 59 117 1.2
- ## stu3 60 120 1.3
- ## stu4 61 123 1.4
- ## stu5 62 126 1.5
- ## stu6 63 129 1.6
- row.names(dataset4)
- ## [1] "stu1" "stu2" "stu3" "stu4" "stu5" "stu6" "stu7" "stu8"
- ## [9] "stu9" "stu10" "stu11" "stu12" "stu13" "stu14" "stu15"
women2.txt
- \ 这是一些简单的测试数据
- name height weight tmp
- /stu1/ 58 115 1*1
- /stu2/ 59 117 1*2
- /stu3/ 60 "" 1*3\注意:空格处经测试必须引起来,
- \否则会出先error“……line 3 did not have 4 elements”
- /stu4/ 61 123 1*4
- /stu5/ 62 NO 1*5
- /stu6/ NO NO 1*6
- /stu7/ 64 132 1*7
- /stu8/ 65 135 1*8
- /stu9/ 66 139 1*9
- /stu10/ NA NA 2*0
- /stu11/ 68 146 2*1
- /stu12/ 69 150 2*2
- /stu13/ 70 154 2*3
- /stu14/ 71 159 2*4
- /stu15/ 72 164 2*5
- ## dec = “.” 指定小数点数;na.strings = “NA” 指定什么样的字符表示值缺少;comment.char 只能设定一个
- data1 <- read.table("./women2.txt", header = T, dec = "*", na.strings = c("", "NA", "NO"), comment.char = "\\")
- head(data1)
- ## name height weight tmp
- ## 1 /stu1/ 58 115 1.1
- ## 2 /stu2/ 59 117 1.2
- ## 3 /stu3/ 60 NA 1.3
- ## 4 /stu4/ 61 123 1.4
- ## 5 /stu5/ 62 NA 1.5
- ## 6 /stu6/ NA NA 1.6
- sapply(data1[1:6,], is.na)
- ## name height weight tmp
- ## [1,] FALSE FALSE FALSE FALSE
- ## [2,] FALSE FALSE FALSE FALSE
- ## [3,] FALSE FALSE TRUE FALSE
- ## [4,] FALSE FALSE FALSE FALSE
- ## [5,] FALSE FALSE TRUE FALSE
- ## [6,] FALSE TRUE TRUE FALSE
- sapply(data1, class)
- ## name height weight tmp
- ## "factor" "integer" "integer" "numeric"
- # quote的设定
- data1 <- read.table("./women2.txt", header = T, dec = "*", na.strings = c("", "NA", "NO"), comment.char = "\\", quote = "/", as.is = F)
- head(data1)
- ## name height weight tmp
- ## 1 stu1 58 115 1.1
- ## 2 stu2 59 117 1.2
- ## 3 stu3 60 "" 1.3
- ## 4 stu4 61 123 1.4
- ## 5 stu5 62 <NA> 1.5
- ## 6 stu6 NA <NA> 1.6
- sapply(data1, class)
- ## name height weight tmp
- ## "factor" "integer" "factor" "numeric"
R语言中的read.table()的更多相关文章
- R语言中的factor
对于初学者来说,R语言中的factor有些难以理解.如果直译factor为“因子”,使得其更加难以理解.我倾向于不要翻译,就称其为factor,然后从几个例子中理解: <span style=& ...
- 掌握R语言中的apply函数族(转)
转自:http://blog.fens.me/r-apply/ 前言 刚开始接触R语言时,会听到各种的R语言使用技巧,其中最重要的一条就是不要用循环,效率特别低,要用向量计算代替循环计算. 那么,这是 ...
- R语言中apply函数
前言 刚开始接触R语言时,会听到各种的R语言使用技巧,其中最重要的一条就是不要用循环,效率特别低,要用向量计算代替循环计算. 那么,这是为什么呢?原因在于R的循环操作for和while,都是基于R语言 ...
- R语言中的MySQL操作
R语言中,针对MySQL数据库的操作执行其实也有很多中方式.本人觉得,熟练掌握一种便可,下面主要就个人的学习使用情况,总结其中一种情况-----使用RMySQL操作数据库. 1.下载DBI和RMySQ ...
- R 语言中 data table 的相关,内存高效的 增量式 data frame
面对的是这样一个问题,不断读入一行一行数据,append到data frame上,如果用dataframe, rbind() ,可以发现数据大的时候效率明显变低. 原因是 每次bind 都是一次重新 ...
- R语言中的Apriori关联规则的使用
1.下载Matrix和arules包 install.packages(c("Matrix","arules")) 2.载入引入Matrix和arules包 # ...
- R语言中 fitted()和predict()的区别
fitted是拟合值,predict是预测值.模型是基于给定样本的值建立的,在这些给定样本上做预测就是拟合.在新样本上做预测就是预测. 你可以找一组数据试试,结果如何. fit<-lm(weig ...
- R语言中Fisher判别的使用方法
最近编写了Fisher判别的相关代码时,需要与已有软件比照结果以确定自己代码的正确性,于是找到了安装方便且免费的R.这里把R中进行Fisher判别的方法记录下来. 1. 判别分析与Fisher判别 不 ...
- rugarch包与R语言中的garch族模型
来源:http://www.dataguru.cn/article-794-1.html rugarch包是R中用来拟合和检验garch模型的一个包.该包最早在http://rgarch.r-forg ...
随机推荐
- UltraSoft - Alpha - 发布声明
DDL_Killer Alpha版本发布声明 1. Alpha 阶段功能描述与版本实现 功能描述 设计原型 Alpha实现 登陆界面 注册界面 首页 日历视图 事项详情页 新建事项 列表视图 课程视图 ...
- PCB中,Solder Mask与Paste Mask有啥区别呢?
Solder Mask Layers: 即阻焊层.顾名思义,他的存在是为了防止PCB在过波峰焊的时候,不应涂锡的地方粘上锡. 可以简单理解为一个洞,该区域(洞)以外的地方,都不允许有焊锡,即只能涂绿油 ...
- linux shell 基本语法之快速上手shell编程
从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操 ...
- numpy中的nan和常用方法
1.数组的拼接 import numpy as np t1 = np.array([[0, 1, 2, 3, 4, 5], [6, 7, 8, 9, 10, 11]]) t2 = np.array([ ...
- Openssl基本组成与应用
SSL与Openssl有什么关系? ssl是一种应用,表示安全的套接字层,是为那些明文应用提供加密机制的应用,openssl是一个实现该协议的库,当然还实现了其他很多东西,并且是open source ...
- CentOS 7 tmpwatch 2.11 版本变更,移除 cronjob 任务
老版本(RHEL6) tmpwatch 原理 在 RHEL6 上,/tmp 目录的清理工作通常是交给 tmpwatch 程序来完成的,tmpwatch 的工作机制是通过 /etc/cron.daily ...
- js-arguments 函数参数对象详解
前言 JavaScript 函数参数不同于其他编程语言,既不需要规定参数的类型,也不需要关心参数的个数,因此 JavaScript 因函数参数而变得十分灵活,本文总结一下 arguments 参数对象 ...
- 线程私有数据TSD——一键多值技术,线程同步中的互斥锁和条件变量
一:线程私有数据: 线程是轻量级进程,进程在fork()之后,子进程不继承父进程的锁和警告,别的基本上都会继承,而vfork()与fork()不同的地方在于vfork()之后的进程会共享父进程的地址空 ...
- Solon & Solon Cloud 1.5.62 发布,轻量级 Java 基础开发框架
Solon 已有120个生态扩展插件,此次更新主要为细节打磨,且对k8s和docker-compose更友好: 1.插件 solon.coud ,事件总线增加支持本地同主题多订阅模式(以支持同服务内, ...
- 添加su权限
在root用户下 visudo amy ALL=(ALL) NOPASSWD:ALL 在amy用户下 vim ~/.bashrc alias sd = "sudo"