• R提高篇(一): 输入输出


    目录:

    • 文本输出
    • 图形输出
    • 数据输入
    • 数据框输出
    • 文本导入
    • Excel导入

    文本输出


    • 语法: sink(file = NULL, append = FALSE, type = c("output", "message"), split = FALSE)
      1. 默认情况,如果文件已经存在,则内容会被覆盖,如果 append = TRUE 可以将文本追加到文件后
      2. split = TRUE 可将输出同时发送到屏幕和输出文件中
      3. sink():结束重定向
    • 示例代码:
      setwd("E:\R")
      sink(file = "hello.txt",append = TRUE)
      cat("Test Sink output")
      sink()
    •  注意:sink()对图形输出没有影响

    图形输出


    • 图形输出使用如下的函数,最后使用dev.off()将输入结果返回终端
    • 矢量图形(PDF,PostScript,SVG), 位图(PNG,JPEG, TIFF)
    • 示例代码:
      pdf("demo.pdf")
      png("demo1.png")
      attach(mtcars)
      plot(wt,mpg)
      title("pdf graphics demo")
      detach(mtcars)
      dev.off()

    数据输入 


    • 通过键盘输入数据两种常见方式:R内置的文本编辑器和代码中直接嵌入数据
    • 通过edit()函数会自动调用一个允许手工输入数据的文本编辑器
    • 示例代码:
      mydata <- data.frame(name=character(0),age=numeric(0),weight=numeric(0))
      mydata <- edit(mydata)
    •  执行代码,弹出编辑器如下图:

    • 关闭弹出框后,查看mydata结果如下:
      > mydata
        name age weight
      1 张三  12     42
      2 李四  14     56
      > 

    数据框输出


      • 上例中将mydata 数据框对象保存本地 .rda文件,同时加载数据代码示例如下:
      • save(mydata,file = "mydata.rda")
      • 如下图:
      • 加载本地mydata.rda文件示例代码如下:
        > remove(list=ls())
        > load(file = "mydata.rda")
        > mydata
          name age weight
        1 张三  12     42
        2 李四  14     56

    文本导入


    • read.table() 从带分隔符的文本文件中导入数据,生成数据框对象
    • 示例代码:
      mydata <- read.table("d:\data.txt",col.names = c("region","Name"))
      mydata
    •  导入文件后结果如下:

     

    • 导入注意事项:
      1. 导入时默认把字符变量转化为因子,若不希望这样,则设置:stringAsFactors = FALSE
      2. 若对导入的每一列指定一个类,可使用 colClasses , 如:colClasses = c("character","character","numeric")

    Excel导入


    • 方法一:将Exce导出为逗号分隔的csv文件,使用read.table()导入数据
    • 使用xlsx包直接导入Excel工作表(需要先安装xlsxjars和rjava包
      1. 在线安装 xlsx 包: install.packages("xlsx")
      2. 示例代码:
        library(xlsxjars)
        library(xlsx)
        mydata <- read.xlsx("work.xlsx",sheetIndex = 1)
        mydata
      3.  

  • 相关阅读:
    STM32L476的RTC使用问题记录
    python数据分析之:时间序列二
    python+NLTK 自然语言学习处理七:N-gram标注
    python数据分析之:时间序列一
    如何在ubuntun中安装intellij idea 2018并破解
    python+NLTK 自然语言学习处理六:分类和标注词汇一
    python数据分析之:数据聚合与分组运算
    500 Lines or Less: A Template Engine(模板引擎)
    python+NLTK 自然语言学习处理五:词典资源
    Django之博客系统:在网站中分享内容(一)
  • 原文地址:https://www.cnblogs.com/tgzhu/p/5941073.html
Copyright © 2020-2023  润新知