博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
R语言中的read.table()
阅读量:6821 次
发布时间:2019-06-26

本文共 6132 字,大约阅读时间需要 20 分钟。

参考资料:
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	tmpstu1	58	115	1.1stu2	59	117	1.2stu3	60	120	1.3stu4	61	123	1.4stu5	62	126	1.5stu6	63	129	1.6stu7	64	132	1.7stu8	65	135	1.8stu9	66	139	1.9stu10	67	142	2stu11	68	146	2.1stu12	69	150	2.2stu13	70	154	2.3stu14	71	159	2.4stu15	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.6dataset1$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 ... stu9class(dataset1$name)## [1] "factor"is.factor(dataset1$name)## [1] TRUEdataset1 <- 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.6dataset1$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.9dataset2 <- 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.3dataset3 <- 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.6row.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.6sapply(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 FALSEsapply(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   
1.5## 6 stu6 NA
1.6sapply(data1, class)## name height weight tmp ## "factor" "integer" "factor" "numeric"

 

转载于:https://www.cnblogs.com/steamed-bread/p/5560641.html

你可能感兴趣的文章
我的友情链接
查看>>
Linux学习记录--日志系统
查看>>
什么是OTT
查看>>
大型互联网站解决高并发的常见策略
查看>>
Apache Rewrite
查看>>
UML学习笔记(7)——时序图
查看>>
python爬虫基础
查看>>
Java 单例模式 学习
查看>>
Struts1.x系列教程(19):LookupDispatchAction类处理一个form多个submit
查看>>
ubuntu LTSP 无盘多终端ubuntu系统
查看>>
phpstorm支持CodeIgniter自动补全
查看>>
linux磁盘批量分区格式化和挂载脚本
查看>>
第一次尝试OSCHINA博客平台
查看>>
常用html、CSS、javascript前端命名规范
查看>>
EasyMock 用法
查看>>
postgresql事务处理与并发控制
查看>>
使用Apache的ab工具对比Nginx与Apache静态页面处理能力
查看>>
linux基本命令之用户篇
查看>>
C语言基于GTK+Libvlc实现的简易视频播放器(二)
查看>>
android自定义view无法预览
查看>>