1. 参考资料:http://www.cnblogs.com/xianghang123/archive/2012/06/06/2538274.html

  1. read.table(file, header = FALSE, sep = "", quote = "\"'",
  2. dec = ".", numerals = c("allow.loss", "warn.loss", "no.loss"),
  3. row.names, col.names, as.is = !stringsAsFactors,
  4. na.strings = "NA", colClasses = NA, nrows = -1,
  5. skip = 0, check.names = TRUE, fill = !blank.lines.skip,
  6. strip.white = FALSE, blank.lines.skip = TRUE,
  7. comment.char = "#",
  8. allowEscapes = FALSE, flush = FALSE,
  9. stringsAsFactors = default.stringsAsFactors(),
  10. 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

  1. name height weight tmp
  2. stu1 58 115 1.1
  3. stu2 59 117 1.2
  4. stu3 60 120 1.3
  5. stu4 61 123 1.4
  6. stu5 62 126 1.5
  7. stu6 63 129 1.6
  8. stu7 64 132 1.7
  9. stu8 65 135 1.8
  10. stu9 66 139 1.9
  11. stu10 67 142 2
  12. stu11 68 146 2.1
  13. stu12 69 150 2.2
  14. stu13 70 154 2.3
  15. stu14 71 159 2.4
  16. stu15 72 164 2.5
  1. ## 基本参数
  2. dataset1 <- read.table("./women1.txt", header = T, sep = "\t")
  3. head(dataset1)
  4.  
  5. ## name height weight tmp
  6. ## 1 stu1 58 115 1.1
  7. ## 2 stu2 59 117 1.2
  8. ## 3 stu3 60 120 1.3
  9. ## 4 stu4 61 123 1.4
  10. ## 5 stu5 62 126 1.5
  11. ## 6 stu6 63 129 1.6
  12.  
  13. dataset1$name
  14.  
  15. ## [1] stu1 stu2 stu3 stu4 stu5 stu6 stu7 stu8 stu9 stu10 stu11
  16. ## [12] stu12 stu13 stu14 stu15
  17. ## 15 Levels: stu1 stu10 stu11 stu12 stu13 stu14 stu15 stu2 stu3 ... stu9
  18.  
  19. class(dataset1$name)
  20.  
  21. ## [1] "factor"
  22.  
  23. is.factor(dataset1$name)
  24.  
  25. ## [1] TRUE
  26.  
  27. dataset1 <- read.table("./women1.txt", header = T, sep = "\t", as.is = T)
  28. head(dataset1)
  29.  
  30. ## name height weight tmp
  31. ## 1 stu1 58 115 1.1
  32. ## 2 stu2 59 117 1.2
  33. ## 3 stu3 60 120 1.3
  34. ## 4 stu4 61 123 1.4
  35. ## 5 stu5 62 126 1.5
  36. ## 6 stu6 63 129 1.6
  37.  
  38. dataset1$name
  39.  
  40. ## [1] "stu1" "stu2" "stu3" "stu4" "stu5" "stu6" "stu7" "stu8"
  41. ## [9] "stu9" "stu10" "stu11" "stu12" "stu13" "stu14" "stu15"
  42.  
  43. class(dataset1$name)
  44.  
  45. ## [1] "character"
  46.  
  47. is.factor(dataset1$name)
  48.  
  49. ## [1] FALSE
  50.  
  51. ## skip = 0 跳过文件的前n行(skip = n)
  52. dataset2 <- read.table("./women1.txt", header = T, sep = "\t", skip = 3)
  53. head(dataset2)
  54.  
  55. ## stu3 X60 X120 X1.3
  56. ## 1 stu4 61 123 1.4
  57. ## 2 stu5 62 126 1.5
  58. ## 3 stu6 63 129 1.6
  59. ## 4 stu7 64 132 1.7
  60. ## 5 stu8 65 135 1.8
  61. ## 6 stu9 66 139 1.9
  62.  
  63. dataset2 <- read.table("./women1.txt", header = F, sep = "\t", skip = 3)
  64. head(dataset2)
  65.  
  66. ## V1 V2 V3 V4
  67. ## 1 stu3 60 120 1.3
  68. ## 2 stu4 61 123 1.4
  69. ## 3 stu5 62 126 1.5
  70. ## 4 stu6 63 129 1.6
  71. ## 5 stu7 64 132 1.7
  72. ## 6 stu8 65 135 1.8
  73.  
  74. ## nrows = -1 最大读入行数,“-1”表示都读入
  75. dataset3 <- read.table("./women1.txt", header = T, sep = "\t", nrows = 3)
  76. head(dataset3)
  77.  
  78. ## name height weight tmp
  79. ## 1 stu1 58 115 1.1
  80. ## 2 stu2 59 117 1.2
  81. ## 3 stu3 60 120 1.3
  82.  
  83. dataset3 <- read.table("./women1.txt", header = F, sep = "\t", nrows = 3)
  84. head(dataset3)
  85.  
  86. ## V1 V2 V3 V4
  87. ## 1 name height weight tmp
  88. ## 2 stu1 58 115 1.1
  89. ## 3 stu2 59 117 1.2
  90.  
  91. ## 指定行名
  92. dataset4 <- read.table("./women1.txt", header = T, sep = "\t", row.names = 1) # **表中第一行一列元素被跳过**
  93. head(dataset4)
  94.  
  95. ## height weight tmp
  96. ## stu1 58 115 1.1
  97. ## stu2 59 117 1.2
  98. ## stu3 60 120 1.3
  99. ## stu4 61 123 1.4
  100. ## stu5 62 126 1.5
  101. ## stu6 63 129 1.6
  102.  
  103. row.names(dataset4)
  104.  
  105. ## [1] "stu1" "stu2" "stu3" "stu4" "stu5" "stu6" "stu7" "stu8"
  106. ## [9] "stu9" "stu10" "stu11" "stu12" "stu13" "stu14" "stu15"

women2.txt

  1. \ 这是一些简单的测试数据
  2.  
  3. name height weight tmp
  4. /stu1/ 58 115 1*1
  5. /stu2/ 59 117 1*2
  6. /stu3/ 60 "" 1*3\注意:空格处经测试必须引起来,
  7. \否则会出先error“……line 3 did not have 4 elements
  8. /stu4/ 61 123 1*4
  9. /stu5/ 62 NO 1*5
  10. /stu6/ NO NO 1*6
  11. /stu7/ 64 132 1*7
  12. /stu8/ 65 135 1*8
  13. /stu9/ 66 139 1*9
  14. /stu10/ NA NA 2*0
  15. /stu11/ 68 146 2*1
  16. /stu12/ 69 150 2*2
  17. /stu13/ 70 154 2*3
  18. /stu14/ 71 159 2*4
  19. /stu15/ 72 164 2*5
  1. ## dec = “.” 指定小数点数;na.strings = “NA” 指定什么样的字符表示值缺少;comment.char 只能设定一个
  2. data1 <- read.table("./women2.txt", header = T, dec = "*", na.strings = c("", "NA", "NO"), comment.char = "\\")
  3. head(data1)
  4.  
  5. ## name height weight tmp
  6. ## 1 /stu1/ 58 115 1.1
  7. ## 2 /stu2/ 59 117 1.2
  8. ## 3 /stu3/ 60 NA 1.3
  9. ## 4 /stu4/ 61 123 1.4
  10. ## 5 /stu5/ 62 NA 1.5
  11. ## 6 /stu6/ NA NA 1.6
  12.  
  13. sapply(data1[1:6,], is.na)
  14.  
  15. ## name height weight tmp
  16. ## [1,] FALSE FALSE FALSE FALSE
  17. ## [2,] FALSE FALSE FALSE FALSE
  18. ## [3,] FALSE FALSE TRUE FALSE
  19. ## [4,] FALSE FALSE FALSE FALSE
  20. ## [5,] FALSE FALSE TRUE FALSE
  21. ## [6,] FALSE TRUE TRUE FALSE
  22.  
  23. sapply(data1, class)
  24.  
  25. ## name height weight tmp
  26. ## "factor" "integer" "integer" "numeric"
  27.  
  28. # quote的设定
  29. data1 <- read.table("./women2.txt", header = T, dec = "*", na.strings = c("", "NA", "NO"), comment.char = "\\", quote = "/", as.is = F)
  30. head(data1)
  31.  
  32. ## name height weight tmp
  33. ## 1 stu1 58 115 1.1
  34. ## 2 stu2 59 117 1.2
  35. ## 3 stu3 60 "" 1.3
  36. ## 4 stu4 61 123 1.4
  37. ## 5 stu5 62 <NA> 1.5
  38. ## 6 stu6 NA <NA> 1.6
  39.  
  40. sapply(data1, class)
  41.  
  42. ## name height weight tmp
  43. ## "factor" "integer" "factor" "numeric"

R语言中的read.table()的更多相关文章

  1. R语言中的factor

    对于初学者来说,R语言中的factor有些难以理解.如果直译factor为“因子”,使得其更加难以理解.我倾向于不要翻译,就称其为factor,然后从几个例子中理解: <span style=& ...

  2. 掌握R语言中的apply函数族(转)

    转自:http://blog.fens.me/r-apply/ 前言 刚开始接触R语言时,会听到各种的R语言使用技巧,其中最重要的一条就是不要用循环,效率特别低,要用向量计算代替循环计算. 那么,这是 ...

  3. R语言中apply函数

    前言 刚开始接触R语言时,会听到各种的R语言使用技巧,其中最重要的一条就是不要用循环,效率特别低,要用向量计算代替循环计算. 那么,这是为什么呢?原因在于R的循环操作for和while,都是基于R语言 ...

  4. R语言中的MySQL操作

    R语言中,针对MySQL数据库的操作执行其实也有很多中方式.本人觉得,熟练掌握一种便可,下面主要就个人的学习使用情况,总结其中一种情况-----使用RMySQL操作数据库. 1.下载DBI和RMySQ ...

  5. R 语言中 data table 的相关,内存高效的 增量式 data frame

    面对的是这样一个问题,不断读入一行一行数据,append到data frame上,如果用dataframe,  rbind() ,可以发现数据大的时候效率明显变低. 原因是 每次bind 都是一次重新 ...

  6. R语言中的Apriori关联规则的使用

    1.下载Matrix和arules包 install.packages(c("Matrix","arules")) 2.载入引入Matrix和arules包 # ...

  7. R语言中 fitted()和predict()的区别

    fitted是拟合值,predict是预测值.模型是基于给定样本的值建立的,在这些给定样本上做预测就是拟合.在新样本上做预测就是预测. 你可以找一组数据试试,结果如何. fit<-lm(weig ...

  8. R语言中Fisher判别的使用方法

    最近编写了Fisher判别的相关代码时,需要与已有软件比照结果以确定自己代码的正确性,于是找到了安装方便且免费的R.这里把R中进行Fisher判别的方法记录下来. 1. 判别分析与Fisher判别 不 ...

  9. rugarch包与R语言中的garch族模型

    来源:http://www.dataguru.cn/article-794-1.html rugarch包是R中用来拟合和检验garch模型的一个包.该包最早在http://rgarch.r-forg ...

随机推荐

  1. UltraSoft - Alpha - 发布声明

    DDL_Killer Alpha版本发布声明 1. Alpha 阶段功能描述与版本实现 功能描述 设计原型 Alpha实现 登陆界面 注册界面 首页 日历视图 事项详情页 新建事项 列表视图 课程视图 ...

  2. PCB中,Solder Mask与Paste Mask有啥区别呢?

    Solder Mask Layers: 即阻焊层.顾名思义,他的存在是为了防止PCB在过波峰焊的时候,不应涂锡的地方粘上锡. 可以简单理解为一个洞,该区域(洞)以外的地方,都不允许有焊锡,即只能涂绿油 ...

  3. linux shell 基本语法之快速上手shell编程

    从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操 ...

  4. 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([ ...

  5. Openssl基本组成与应用

    SSL与Openssl有什么关系? ssl是一种应用,表示安全的套接字层,是为那些明文应用提供加密机制的应用,openssl是一个实现该协议的库,当然还实现了其他很多东西,并且是open source ...

  6. CentOS 7 tmpwatch 2.11 版本变更,移除 cronjob 任务

    老版本(RHEL6) tmpwatch 原理 在 RHEL6 上,/tmp 目录的清理工作通常是交给 tmpwatch 程序来完成的,tmpwatch 的工作机制是通过 /etc/cron.daily ...

  7. js-arguments 函数参数对象详解

    前言 JavaScript 函数参数不同于其他编程语言,既不需要规定参数的类型,也不需要关心参数的个数,因此 JavaScript 因函数参数而变得十分灵活,本文总结一下 arguments 参数对象 ...

  8. 线程私有数据TSD——一键多值技术,线程同步中的互斥锁和条件变量

    一:线程私有数据: 线程是轻量级进程,进程在fork()之后,子进程不继承父进程的锁和警告,别的基本上都会继承,而vfork()与fork()不同的地方在于vfork()之后的进程会共享父进程的地址空 ...

  9. Solon & Solon Cloud 1.5.62 发布,轻量级 Java 基础开发框架

    Solon 已有120个生态扩展插件,此次更新主要为细节打磨,且对k8s和docker-compose更友好: 1.插件 solon.coud ,事件总线增加支持本地同主题多订阅模式(以支持同服务内, ...

  10. 添加su权限

    在root用户下 visudo amy   ALL=(ALL)   NOPASSWD:ALL 在amy用户下 vim ~/.bashrc alias sd = "sudo"