看了几天的书,终于到这一步了,说实话,用R来做统计,很少有人手动的去输入那些数字,肯定是从别的地方导入的,我们用来处理就可以了,所以到这里才算是真正的入门,前面都是做基础的练手。

我学习R从《R语言与统计分析》入手,第一个例子,从书上的例子,入手,为大家能够快速入门。

在F盘下有个r文件夹,里面有个foo.txt的文件,

文件的内容如下:

treat   weight

A          3.4

B          NA

C          5.8

操作命令如下:

>foo<-read.table(file="f:/r/foo.txt",header=T)
>foo

输出结果如下:

      at weight
1     A    3.4
2     B     NA
3     A    5.8

当然我们在经过一系列的处理以后,需要将其保存起来,我们接着来看保存的命令。

1:保存为简单的文本

>write.table(name,file="d:/r/foo.txt",row.names=F,quote=F)

这里rownames表示行名为False也就是不写入文件,quote引号的意思,=F也是不写入的意思。

2.保存为csv文件

>write.csv(d,file="c:/data/foo.csv",row.names=F,quote=F)

3.保存为R格式

save(d,file="f:/r/fool.Rdata")

下面是一个非常像详细的解释:

http://www.cnblogs.com/xianghang123/archive/2012/06/06/2538274.html

【R】数据导入读取read.table函数详解,如何读取不规则的数据(fill=T)

函数 read.table 是读取矩形格子状数据最为便利的方式。因为实际可能遇到的情况比较多,所以预设了一些函数。这些函数调用了 read.table 但改变了它的一些默认参数。

注意,read.table 不是一种有效地读大数值矩阵的方法:见下面的 scan 函数。

一些需要考虑到问题是:

  1. 编码问题

    如果文件中包含非-ASCII字符字段,要确保以正确的编码方式读取。这是在UTF-8的本地系统里面读取Latin-1文件的一个主要问题。此时,可以如下处理

              read.table(file("file.dat", encoding="latin1"))

    注意,这在任何可以呈现Latin-1名字的本地系统里面运行。

  2. 首行问题

    我们建议你明确地设定 header 参数。按照惯例,首行只有对应列的字段而没有行标签对应的字段。因此,它会比余下的行少一个字段。(如果需要在 R 里面看到这一行,设置 header = TRUE。)如果要读取的文件里面有行标签的头字段(可能是空的),以下面的方式读取

              read.table("file.dat", header = TRUE, row.names = 1)

    列名字可以通过 col.names 显式地设定;显式设定的名字会替换首行里面的列名字(如果存在的话)。

  3. 分隔符问题

    通常,打开文件看一下就可以确定文件所使用的字段分隔符,但对于空白分割的文件,可以选择默认的sep = "" (它能使用任何空白符作为分隔符,比如空格,制表符,换行符), sep = " " 或者 sep = "\t"。注意,分隔符的选择会影响输入的被引用的字符串。

    如果你有含有空字段的制表符分割的文件,一定要使用 sep = "\t"

  4. 引用 默认情况下,字符串可以被 " 或 ' 括起,并且两种情况下,引号内部的字符都作为字符串的一部分。有效的引用字符(可能没有)的设置由参数 quote 控制。对于sep = "\n",默认值改为 quote = ""

    如果没有设定分隔字符,在被引号括起的字符串里面,引号需要用 C格式的逃逸方式逃逸,即在引号前面直接加反斜杠 \。

    如果设定了分隔符,在被引号括起的字符串里面,按照电子表格的习惯,把引号重复两次以达到逃逸的效果。例如

              'One string isn''t two',"one more"

    可以被下面的命令读取

              read.table("testfile", sep = ",")

    这在默认分隔符的文件里面不起作用。

  5. 缺损值 默认情况下,文件是假定用 NA 表示缺损值,但是,这可以通过参数 na.strings 改变。参数 na.strings 是一个可以包括一个或多个缺损值得字符描述方式的向量。

    数值列的空字段也被看作是缺损值。

    在数值列,值 NaNInf 和 -Inf 都可以被接受的。

  6. 尾部空字段省略的行

    从一个电子表格中导出的文件通常会把拖尾的空字段(包括?堑姆指舴? 忽略掉。为了读取这样的文件,必须设置参数 fill = TRUE

  7. 字符字段中的空白

    如果设定了分隔符,字符字段起始和收尾处的空白会作为字段一部分看待的。为了去掉这些空白,可以使用参数 strip.white = TRUE

  8. 空白行

    默认情况下,read.table 忽略空白行。这可以通过设置 blank.lines.skip = FALSE 来改变。但这个参数只有在和 fill = TRUE 共同使用时才有效。这时,可能是用空白行表明规则数据中的缺损样本。

  9. 变量的类型

    除非你采取特别的行动,read.table 将会为数据框的每个变量选择一个合适的类型。如果字段没有缺损以及不能直接转换,它会按 logical, integer, numeric 和 complex 的顺序依次判断字段类型。如果所有这些类型都失败了,变量会转变成因子。

    参数 colClasses 和 as.is 提供了很大的控制权。 as.is 会 抑制字符向量转换成因子(仅仅这个功能)。 colClasses运行为输入中的每个列设置需要的类型。

    注意,colClasses 和 as.is 对 列专用,而不是个变量。因此,它对行标签列也同样适用(如果有的话)。

  10. 注释

    默认情况下,read.table 用 # 作为注释标识字符。如果碰到该字符(除了在被引用的字符串内),该行中随后的内容将会被忽略。只含有空白和注释的行被当作空白行。

    如果确认数据文件中没有注释内容,用 comment.char = "" 会比较安全 (也可能让速度比较快)。

  11. 逃逸

    许多操作系统有在文本文件中用反斜杠作为逃逸标识字符的习惯,但是Windows系统是个例外(在路径名中使用反斜杠)。在 R 里面,用户可以自行设定这种习惯是否用于数据文件。

    read.table 和 scan 都有一个逻辑参数 allowEscapes。从 R 2.2.0 开始,该参数默认为否,而且反斜杠是唯一被解释为逃逸引用符的字符(在前面描述的环境中)。如果该参数设为是,以C形式的逃逸规则解释,也就是控制符如 \a, \b, \f, \n, \r, \t, \v,八进制和十六进制如 \040 和 \0x2A 一样描述。任何其它逃逸字符都看着是自己,包括反斜杠。

常用函数 read.csv 和 read.delim 为 read.table 设定参数以符合英语语系本地系统中电子表格导出的CSV和制表符分割的文件。这两个函数对应的变种 read.csv2 和 read.delim2 是针对在逗号作为小数点的国家使用时设计的。

如果 read.table 的可选项设置不正确,错误信息通常以下面的形式显示

     Error in scan(file = file, what = what, sep = sep, :line 1 did not have 5 elements

或者

     Error in read.table("files.dat", header = TRUE) :more columns than column names

这些信息可能足以找到问题所在,但是辅助函数 count.fields 可以进一步的深入研究问题所在。

读大的数据格子(data grid)时,效率最重要。设定 comment.char = "",以原子向量类型(逻辑型,整型,数值型,复数型,字符型或原味型)设置每列的 colClasses ,给定需要读入的行数 nrows (适当地高估一点比不设置这个参数好)等措施会提高效率。

R从文件中读取数据,输出文件相关推荐

  1. R语言:从 csv 文件中读取数据,然后将数据写入 csv 文件

    在 R 中,我们可以从存储在 R 环境外部的文件读取数据.我们还可以将数据写入将由操作系统存储和访问的文件中.R可以读取和写入各种文件格式,如csv,excel,xml等. 在本章中,我们将学习从 c ...

  2. (R语言)从文件中读取数据

    7.1 函数read.table() 该函数可以直接将文件中完整的数据帧读入.此时文件要符合特定的格式: 1 第一行应当提供数据帧中每个变量的名称: 2 每一行(除变量名称行)应包含一个行标号和各变量 ...

  3. python读文件和写文件-python开发--从文件中读取数据和写入文件

    #! /usr/bin/env python -*- coding:utf-8 -*- """ @Author:gcan @Email:1528667112@qq.com ...

  4. mfc从文件中读取数据_Python 中的 bytes、str 以及 unicode 区别

    从Python发展历史谈起 Python3和Python2表示字符序列的方式有所不同. Python3字符序列的两种表示为byte和str.前者的实例包含原始的8位值,即原始的字节:后者的实例包括Un ...

  5. python print(len(pi_string))_Python如何从文件中读取数据

    从文件中读取数据 1. 读取整个文件 要读取文件,首先来创建一个文件: 然后打开并读取这个文件,再将其内容显示到屏幕上:file_reader.py with open('pi_digits.txt' ...

  6. python 从文件中读取数据,同时去除掉空格和换行

    从文件中读取数据,同时去除掉空格和换行,代码如下 import numpy as np def sort(path):w = open(path,'r')l = w.readlines()col=[] ...

  7. vc++从txt文件中读取数据

    数值分析课上老师说要将数据写在txt文件上,然后让程序从txt文件中读取数据.让本来C++已经遗忘了很久的我们无从下手,在网上也查看了很多,发现大多都是扯淡,放在VC++编辑器上发现并不能运行,不知道 ...

  8. 【Python】从文件中读取数据

    从文件中读取数据 1.1 读取整个文件 要读取文件,需要一个包含几行文本的文件(文件PI_DESC.txt与file_reader.py在同一目录下) PI_DESC.txt 3.1415926535 ...

  9. 如何用c语言从txt文件中读取数据

    用C语言从txt文件中读取数据,可以使用C标准库文件自带的文件接口函数进行操作. 一.打开文件: FILE *fopen(const char *filename, const char *mode) ...

  10. java file数组 初始化_java从文件中读取数据并赋值给数组

    从txt文件中读取数据赋值给一维数组 字节流读入字节数组中 字节数组转化为字符串 字符创解析为字符串数组 字符串数组转化为数值,并赋值为数组 文本文件是以字节的形式储存的. 在txt文件中一个数字或者 ...

最新文章

  1. 微软全球AI总监:Azure AI是OpenAI技术商业化变现唯一、排他性合作方
  2. ES6相关特性的整理(变量数据结构)
  3. 语言代码编程大赛简讯_精品干货:C语言的高效编程与代码优化
  4. 瑞士桁架机器人_机器人库晚报:人工智能可以在实验室中预测人的血糖水平
  5. 【 Tomcat 】tomcat8.0 调优配置
  6. c# picturebox控件显示本地图片和显示网上的图片
  7. AudioRecord 采集音频PCM数据
  8. MacBook高效优先设置,你都开启了吗?
  9. 解读《美国国家BIM标准》– BIM能力成熟度模型(九)
  10. 深度学习视觉目标跟踪算法毕业论文【matlab】
  11. Aras Innovator 11 sp2 IE客户端设置
  12. mysql dp.cal 显示汉子_JS日历插件 - My97 DatePicker
  13. 第三方支付接口响应超时处理方法
  14. Js之$.ajax回调函数获取结果的问题-yellowcong
  15. C\C ++语言 文件备份实验
  16. 华为OD机试(A、B卷)、机考,200分的题目整理如下,冲满分必备
  17. php 商品多规格的实现,sku实现
  18. 【宇麦科技】群晖NAS套件之Drive的客户端安装与配置(二),新手必读!
  19. 杂记--企业网银B2B支付
  20. 机械臂正向运动学原理通俗解释

热门文章

  1. Dataphin数据中台使用
  2. thinkadmin验证器与场景验证
  3. 从今天起,职场再无带薪拉屎!
  4. html表格 数据库数据类型,html数据库excel表格设计-html table能不能显示类似excel的那种表格?...
  5. 红队渗透工具库-忍者安全系统(NINJUTSU OS v3)系统安装
  6. 报告番外篇:旅游类企业邮件推广案例
  7. Web---Cookie技术(显示用户上次登录的时间、显示用户最近浏览的若干个图片(按比例缩放))
  8. 清华大学成功卫冕ASC18世界超算总决赛冠军,黑马上海科大斩获AI大奖
  9. Intel RealSense CAD files(STL 模型)
  10. Office365学习笔记—创建WikiPage