write.table()


  • 数据导入导出最常用的方式是使用read.table()函数和write.table()处理CSV文件的导入导出,read.table()和write.table()可以处理包含行、列标签的数据框
  • Usage: write.table(x, file = "", append = FALSE, quote = TRUE, sep = " ",   eol = "\n", na = "NA", dec = ".", row.names = TRUE,                            col.names = TRUE, qmethod = c("escape", "double"),  fileEncoding = "")
    1. x: 要写入的对象的名称
    2. file: 文件名(缺省时对象直接被“写”在屏幕上)
    3. append: 是否为增量写入
    4. quote: 一个逻辑型或者数值型向量:如果为TRUE,则字符型变量和因子写在双引 号""中;若quote是数值型向量则代表将欲写在""中的那些列的列标。(两种 情况下变量名都会被写在""中;若quote = FALSE则变量名不包含在双引号中)
    5. sep: 文件中的字段分隔符
    6. eol: 指定行尾符,默认为'\n'
    7. na: 表示缺失数据的字符
    8. dec: 用来表示小数点的字符
    9. row.names: 一个逻辑值,决定行名是否写入文件;或指定要作为行名写入文件的字符型 向量
    10. col.names: 一个逻辑值(决定列名是否写入文件);或指定一个要作为列名写入文件中 的字符型向量
    11. qmethod: 若quote=TRUE,则此参数用来指定字符型变量中的双引号"如何处理: 若参数值为"escape" (或者"e",缺省)每个"都用\"替换;若值为"d"则每 个"用""替换
  • 类似的,write.table()也提供了一些变体:write.csv(…)、write.csv2(…)
    > remove(list = ls())
    > space_path <- c("E:\\RML\\")
    > file_path <- paste0(space_path,"C45.csv")
    > data1 <- data.frame(id=c("","",""),name=c("张三","李四","王五"))
    > write.table(x= data1)
    "id" "name"
    "" "" "张三"
    "" "" "李四"
    "" "" "王五"
    > write.table(x= data1,file = file_path)

read.table()


  • Usage: read.table(file, header = FALSE, sep = "", quote = "\"'",
                         col.names, na.strings = "NA", colClasses = NA, fill = !blank.lines.skip,
                          strip.white = FALSE, blank.lines.skip = TRUE,comment.char = "#",
                         fileEncoding = "", encoding = "unknown", text, skipNul = FALSE)
    1. file : 要处理的文件。可以用字符串指定文件名,也可以使用函数,如:file('file.dat',encoding='utf-8')
    2. header:首行是否为字段名。如果不指定,read.table()会根据行标签进行判断,即如果首行比下面的行少一列,就是header行
    3. col.names: 如果指定,则用指定的名称替代首行中的列名称
    4. sep:指定分隔符。默认为空白符(空格,制表符,换行符等)。可以指定为' ', '\t'等
    5. quote:指定字符串分隔符,如" 或 '
    6. na.strings: 指定缺损值。默认为NA
    7. fill :文件中是否忽略了行尾字段。如果有,必须指定为 TRUE
    8. strip.white:是否去除字符串字段首尾的空白
    9. blank.lines.skip:是否忽略空白行,默认为TRUE。如果要指定为FALSE,需要同时指定 fill = TRUE 才有效
    10. colClasses:指定每个列的数据类型
    11. comment.char : 注释符。默认使用#作为注释符号,如果文件中没有注释,指定comment.char = "" 会比较安全
  • 为了使用方便,read.table()函数还提供了一些变体,这些变体为read.table()的一些参数设定了默认值,如:read.csv、read.csv2、read.delim、read.delim2

    > tmp <- read.table(file = file_path)
    > library(DT)
    > datatable(tmp)

保存为R格式文件


  • 保存及读取代码示例

    > save(data1,file = "demo.rda")
    >
    > remove(list = ls())
    > load(file = "demo.rda")
    > print(data1)
    id name
    1 1 张三
    2 2 李四
    3 3 王五

读取Excel


  • 利用剪切板:选择excel数据,再用(CTRL+C)复制。在R中键入命令:

    > read.delim("clipboard")
    北汽新能源.ES210 X1442 X617 X42.79 X524 X36.34 X559
    1 北汽新能源-EU260 1641 1308 79.71 1278 77.88 1268
    2 北汽新能源-EV150 1377 822 59.69 775 56.28 814
    3 北汽新能源-EV160 1515 230 15.18 486 32.08 652
  • 将文件保存为csv文件,通过write.table读入
  • 加载xlsx包导入excel数据
    #install.packages("xlsx")
    Sys.setlocale(locale = "chinese")
    library(rJava)
    library(xlsxjars)
    library(xlsx)
    read.xlsx(file = "E:\\RML\\demo.xlsx",sheetName ="Sheet1",encoding = "utf-8")

writelines


  • Usage:writeLines(text, con = stdout(), sep = "\n", useBytes = FALSE)
  • 示例代码:
    mytxt <- c("my valiate writelines function ,this is a demo!")
    writeLines(text = mytxt,con = "E:\\RML\\demo.html",useBytes = TRUE)

readlines


  • Usage: readLines(con = stdin(), n = -1L, ok = TRUE, warn = TRUE,encoding = "unknown", skipNul = FALSE)

    > readLines(con = "E:\\RML\\demo.html",encoding = "UTF-8")
    [1] "my valiate writelines function ,this is a demo!"
  • 读取网页示例
    > rows<-readLines("http://news.ifeng.com/mainland/special/ptxyy/",encoding = "UTF-8",warn=FALSE)
    > rows[123:123];
    [1] " ['上海','上海市闵行区中医院<br/>上海华美美莱整形医院<br/>上海万众医院<br/>上海安真医院<br/>上海福华医院<br/>上海玛丽女子医院<br/>上海真爱女子医院<br/>上海心脏病医院<br/>上海远大心胸医院<br/>上海仁爱医院<br/>上海天大医疗美容医院<br/>上海沪申五官科医院<br/>上海博爱医院<br/>上海新虹桥医院<br/>上海九龙男子医院<br/>上海城市女子医院<br/>上海西郊骨科医院<br/>上海真美妇科医院<br/>上海南浦妇科医院<br/>上海虹桥医院<br/>上海健桥医院<br/>上海博爱医院<br/>上海长江医院<br/>解放军411医院<br/>上海阳光中医医院<br/>上海英港泌尿外科医院<br/>上海阿波罗男子医院<br/>上海玫瑰女子医院<br/>上海康新医院<br/>上海圣爱医院<br/>上海同德医院<br/>上海安平医院<br/>江东泌尿外科医院<br/>上海九州泌尿医院<br/>上海青城医院<br/>上海博大医院<br/>上海中亚医院','38'],"

 readr包


  • readr用来把不同格式的数据读入R中,通过比传统方法快十倍的速度。在此,字符型变量不会被转化为因子型变量(所 以不再有stringAsFactors = FALSE命令)。这个包可以代替传统的R基础函数read.csv()和read.table()。它可以用来读入以下格式的数据:
    1. 分隔符文件:read_delim(),read_csv(),read_tsv()和read_csv2()
    2. 固定宽度文件:read_fwf()和read_table()
    3. 网络日志文件:read_log()

R(4) read/write的更多相关文章

  1. [原]CentOS7安装Rancher2.1并部署kubernetes (二)---部署kubernetes

    ##################    Rancher v2.1.7  +    Kubernetes 1.13.4  ################ ##################### ...

  2. 利用python进行数据分析2_数据采集与操作

    txt_filename = './files/python_baidu.txt' # 打开文件 file_obj = open(txt_filename, 'r', encoding='utf-8' ...

  3. Django项目:CRM(客户关系管理系统)--81--71PerfectCRM实现CRM项目首页

    {#portal.html#} {## ————————46PerfectCRM实现登陆后页面才能访问————————#} {#{% extends 'king_admin/table_index.h ...

  4. 【翻译】Awesome R资源大全中文版来了,全球最火的R工具包一网打尽,超过300+工具,还在等什么?

    0.前言 虽然很早就知道R被微软收购,也很早知道R在统计分析处理方面很强大,开始一直没有行动过...直到 直到12月初在微软技术大会,看到我软的工程师演示R的使用,我就震惊了,然后最近在网上到处了解和 ...

  5. 应用r.js来优化你的前端

    r.js是requireJS的优化(Optimizer)工具,可以实现前端文件的压缩与合并,在requireJS异步按需加载的基础上进一步提供前端优化,减小前端文件大小.减少对服务器的文件请求.要使用 ...

  6. 使用R画地图数据

    用R画地图数据 首先,从这里下载中国地图的GIS数据,这是一个压缩包,完全解压后包含三个文件(bou2_4p.dbf.bou2_4p.shp和bou2_4p.shx),将这三个文件解压到同一个目录下. ...

  7. c#使用Split分割换行符 \r\n

    c# 使用Split分割 换行符,方法如下(其余方法有空再添加):   string str = "aa" + "\r\n" + "bb"; ...

  8. JAVA调用R

    JAVA很适合开发应用系统,但是数学建模和计算能力非其所长,如果该系统需要进行大量的统计或者优化的计算,调用R是一种很好的方式.JAVA负责系统的构建,R用来做运算引擎,从而实现应用型和分析性相结合的 ...

  9. Windows Form调用R进行绘图并显示

    R软件功能非常强大,可以很好的进行各类统计,并能输出图形.下面介绍一种R语言和C#进行通信的方法,并将R绘图结果显示到WinForm UI界面上. 1 前提准备 安装R软件,需要安装32位的R软件,6 ...

  10. react-native Simulator com+r不能刷新模拟器

    这个问题是我按了com + shift + K 调出Simulatior 的时候出现的, 然后虚拟机就刷新不了了, 怎么按com+r都不好使. 在Simulatior的菜单栏选择Hardware -- ...

随机推荐

  1. ES 分布式搜索

    ES整个查询过程是scatter/gather的过程,具体如下: 图见 https://blog.csdn.net/thomas0yang/article/details/78572596?utm_s ...

  2. JavaScript学习总结(三)——逻辑And运算符详解

    在JavaScript中,逻辑 AND 运算符用双和号(&&)表示 1 var bTrue = true; 2 var bFalse = false; 3 var bResult = ...

  3. spring boot 学习(六)spring boot 各版本中使用 log4j2 记录日志

    spring boot 各版本中使用 log4j2 记录日志 前言 Spring Boot中默认日志工具是 logback,只不过我不太喜欢 logback.为了更好支持 spring boot 框架 ...

  4. javascript开发HTML5游戏--斗地主(单机模式part1)

      最近学习使用了一款HTML5游戏引擎(青瓷引擎),并用它尝试做了一个斗地主的游戏,简单实现了单机对战和网络对战,代码可已放到github上,在此谈谈自己如何通过引擎来开发这款游戏的. 客户端代码 ...

  5. Sysinternals Suite 2014.08.18

    Windows Sysinternals Suite 是一套由微软官方免费提供的系统工具集,其中包含了大量超级实的优秀绿色小软件,譬如 Desktops (虚拟桌面).Process Explorer ...

  6. 20165210 Java第四周学习总结

    20165210 Java第四周学习总结 教材学习内容 第五章学习总结 子类与父类: 子类: class 子类名 extends 父类名 { ... } 类的树形结构 子类的继承性: 子类和父类在同一 ...

  7. mysql-5.6.17-win32安装

    下载免安装压缩文件http://dev.mysql.com/downloads/mysql/ 解压到自定义目录,我这里演示的是D:\wamp\mysql\   复制根目录下的my-default.in ...

  8. grep命令与正则表达式

    搜寻特定字符串the 常用参数:-a 将binary档案以test档案的方式搜寻数据    -c  计算找到'搜寻字符串'的次数    -i 忽略大小写的不同  -n  顺便输出行号  -v  反向选 ...

  9. HDU 1565

    http://acm.hdu.edu.cn/showproblem.php?pid=1565 先进行二分图黑白染色,S到黑,白到T,黑到白,问题转化成了求最大权独立集,最大点权独立集=sum-最小点权 ...

  10. IoT 通信协议

    /********************************************************************************* * IoT 通信协议 * 说明: ...