zoukankan      html  css  js  c++  java
  • 【转】R中read.table详解

    R中read.table详解

     source:http://wnfdsfy.diandian.com/post/2011-10-17/5856100

    R is a free software environment for statistical computing and graphics. It compiles and runs on a wide variety of UNIX platforms, Windows and MacOS. -- http://www.r-project.org/

    笔者从事生物信息方面的研究和学习。经常用到R处理和分析数据。为了以后更方便和熟练的使用R就做一些记录,不足之处请指正和补充!

    read.table 顾名思义,读表格。在很多领域(几乎全部领域)都用表格的形式储存数据,所以直接读取表格数据是很重要的也是必要的。

    • 初识read.table

    例如桌面上有一个文件名为 test.xls 的表格,其内容如下:

    为了读取其内容可以如下操作。

    其中 # 后面的为注释,R将视而不见。 还需要注意,R命令和符号必须在英文状态下输入,例如""不能输入成“”,''不能输出成‘’。sep='\t',表示告诉R这个表格是以Tab键作为列分割的,还有其他的分隔符,当然了,著名的cvs格式文件就是以','作为分隔符的!

    • 深入read.table

    当然了可能你想说,我想把excle 中的第一列作为变量的列名字,read.table可以做到!

    header=TRUE是告诉文件的第一行是头文件(属性名),其他行是值。然后read.table 就把头文件作为变量的列名字了。

    • 再深入read.table

    看一个更有趣的表格,下面的表格比上面的表格多了第一列,但是第一行却没变,read.table 仍然可以读!!

    请看命令如下:

    这是为什么呢?我当时也很郁闷,因为用 write.table 写入的数据,总是第一行少一个数据。但是读出来缺是正确的。仔细的学习了read.table 才知道 read.table()里面有一个默认选项。也就是:

    Info <- read.table('test.xls')

    相当于:

    Info <- read.table('test.xls', header = FALSE, sep = "", quote = "\"'",dec = ".",
    
                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")

    后面的全是选项,有“=”的为有默认选项,例如 sep="":默认以空白字符为分割,就是看不见的字符,像Tab,空格。这儿 有一个选项是 check.names=TRUE,就是检查名字,其实如果首行比其他行少一个值的时候,就会把首行作为列名,首列作为行名。好多选项...后来看吧~

    • 学习R总结

    学习R:多?read.table() ,少Google, 不baidu。

    其实至今位置baidu搜不到R的权威和系统资料,很奇怪...难道baidu把R解析成“日”了...个人猜测

  • 相关阅读:
    经常遇到分析器错误信息: 访问被拒绝 "XXX组件名"
    文本格式检查,读取服务器端文本和客户端文本
    使用bcp,循环将本地txt文本导入远程sqlserver中
    Nginx高并发配置思路(轻松应对1万并发量)
    编译busybox时报错
    centos6.0桌面配置
    我的电脑每次点开的时候窗口都是最大化的怎么办?
    TQ2440上移植linux2.6.25时启动linux中free init 120kB 后卡住
    菜鸟编译Linux内核
    Linux/centos下查看硬件型号
  • 原文地址:https://www.cnblogs.com/todoit/p/2597040.html
Copyright © 2011-2022 走看看