文章目录

  • R_数据接口
    • ref
      • csv文件
      • Excel文件
      • 二进制文件
      • xml文件
      • json文件
      • web数据
      • 数据库

R_数据接口

ref

w3school_R_数据接口

csv文件

读写csv

  • 获取和设置工作目录

    • **getwd()**函数检查R语言工作区指向的目录。
    • **setwd()**函数设置新的工作目录。
  • 读取csv文件:read.csv(),将输出作为数据帧

    • data <- read.csv("input.csv")
      print(data)# resultid,   name,    salary,   start_date,     dept
      1      1    Rick     623.30    2012-01-01      IT
      2      2    Dan      515.20    2013-09-23      Operations
      3      3    Michelle 611.00    2014-11-15      IT
      4      4    Ryan     729.00    2014-05-11      HR
      5     NA    Gary     843.25    2015-03-27      Finance
      6      6    Nina     578.00    2013-05-21      IT
      7      7    Simon    632.80    2013-07-30      Operations
      8      8    Guru     722.50    2014-06-17      Finance
      
  • 分析csv文件

    • 行列数

      print(ncol(data))
      print(nrow(data))
      
    • 某列最大值

      sal <- max(data$salary)
      print(sal)
      
    • 特定条件筛选,类似SQL语句

      subset(data, condition)

      # Get the person detail having max salary.
      retval <- subset(data, salary == max(salary))
      print(retval)
      
      # Create a data frame.
      data <- read.csv("input.csv")retval <- subset( data, dept == "IT")
      print(retval)
      
  • 写入csv文件

    • **write.csv()**函数用于创建csv文件,并写入数据帧。 此文件在工作目录中创建。

      data <- read.csv("input.csv")
      retval <- subset(data, as.Date(start_date) > as.Date("2014-01-01"))# Write filtered data into a new file.
      write.csv(retval,"output.csv")
      
    • 默认写入行名,可以write.csv(retval,"output.csv", row.names = FALSE)去除

Excel文件

  • 安装、导入xlsl包

    • install.packages("xlsx")# Verify the package is installed.
      any(grepl("xlsx",installed.packages()))# Load the library into R workspace.
      library("xlsx")
      
  • 读入xlsl文件

    • # sheetIndex = 1表示读取第一个sheet
      data <- read.xlsx("input.xlsx", sheetIndex = 1)
      print(data)
      
  • 写入xlsl文件

二进制文件

R语言有两个函数WriteBin()和readBin()来创建和读取二进制文件。

  • 语法

    writeBin(object, con)
    readBin(con, what, n )
    
    • con 是读取或写入二进制文件的连接对象。
    • object 是要写入的二进制文件。
    • what - 是像字符,整数等代表字节模式被读取。
    • n 是从二进制文件读取的字节数。

xml文件

  • 安装xml包

    install.packages("XML")
    
  • 读取xml

    • 使用函数**xmlParse()**读取。 它作为列表存储在R语言中。

      # Load the package required to read XML files.
      library("XML")# Also load the other required package.
      library("methods")# Give the input file name to the function.
      result <- xmlParse(file = "input.xml")# Print the result.
      print(result)
      
    • 获取根节点(是个列表)和文件节点数

      # Exract the root node form the xml file.
      rootnode <- xmlRoot(result)# Find number of nodes in the root.
      rootsize <- xmlSize(rootnode)
      
    • 解析文件第一条记录

      print(rootnode[1])
      
    • 获取节点的不同元素

      # Get the second element of the third node.
      print(rootnode[[3]][[2]])
      
    • xml转数据帧

      xmldataframe <- xmlToDataFrame("input.xml")
      print(xmldataframe)
      
  • 写入xml

json文件

  • 安装rjson包

    install.packages("rjson")
    
  • 读取json文件

    # Load the package required to read JSON files.
    library("rjson")# Give the input file name to the function.
    result <- fromJSON(file = "input.json")# Print the result.
    print(result)
    
  • json转数据帧

    • 使用**as.data.frame()**函数将上面提取的数据转换为R语言数据帧以进行进一步分析

      # Load the package required to read JSON files.
      library("rjson")# Give the input file name to the function.
      result <- fromJSON(file = "input.json")# Convert JSON file to a data frame.
      json_data_frame <- as.data.frame(result)print(json_data_frame)
      
  • 写入json文件

web数据

许多网站提供数据供其用户使用。

使用R语言程序,我们可以从这些网站以编程方式提取特定数据。

R语言中用于从网站中提取数据的一些包是“RCurl”,XML“和”stringr“,它们用于连接到URL,识别文件所需的链接并将它们下载到本地环境。

  • 安装包

    install.packages("RCurl")
    install.packages("XML")
    install.packages("stringr")
    install.packages("plyr")
    
  • demo[主要是获取link,再逐个下载]

    • 使用函数getHTMLLinks()来收集文件的URL
    • 使用函数downlaod.file()将文件保存到本地系统
    # Read the URL.
    url <- "http://www.geos.ed.ac.uk/~weather/jcmb_ws/"# Gather the html links present in the webpage.
    links <- getHTMLLinks(url)# Identify only the links which point to the JCMB 2015 files.
    filenames <- links[str_detect(links, "JCMB_2015")]# Store the file names as a list.
    filenames_list <- as.list(filenames)# Create a function to download the files by passing the URL and filename list.
    downloadcsv <- function (mainurl,filename) {filedetails <- str_c(mainurl,filename)download.file(filedetails,filename)
    }# Now apply the l_ply function and save the files into the current R working directory.
    l_ply(filenames,downloadcsv,mainurl = "http://www.geos.ed.ac.uk/~weather/jcmb_ws/")
    

数据库

数据是关系数据库系统以规范化格式存储。

  • 安装包

    install.packages("RMySQL")
    
  • 连接mysql

    • R中创建一个连接对象以连接到数据库。 它使用用户名,密码,数据库名称和主机名作为输入。

    • 使用dbConnect()函数创建连接对象

      mysqlconnection = dbConnect(MySQL(), user = 'root', password = '', dbname = 'sakila', host = 'localhost')
      
    # Create a connection Object to MySQL database.
    # We will connect to the sampel database named "sakila" that comes with MySql installation.
    mysqlconnection = dbConnect(MySQL(), user = 'root', password = '', dbname = 'sakila', host = 'localhost')# List the tables available in this database.dbListTables(mysqlconnection)
    
  • 查询

    • 使用函数dbSendQuery()查询MySql中的数据库表。

      result = dbSendQuery(mysqlconnection,SQL)
      
    • 使用R语言fetch()函数返回结果集

      data.frame = fetch(result, n = rows_display) # -1表示所有
      
    • 最后,它被存储为R语言中的数据帧。

    # Query the "actor" tables to get all the rows.
    result = dbSendQuery(mysqlconnection, "select * from actor")# Store the result in a R data frame object. n = 5 is used to fetch first 5 rows.
    data.frame = fetch(result, n = 5)
    print(data.frame)
    
  • 更新

    • 将更新查询传递给**dbSendQuery()**函数来更新Mysql表中的行。

      dbSendQuery(mysqlconnection, "update mtcars set disp = 168.5 where hp = 110")
      
  • 插入

    dbSendQuery(mysqlconnection,"insert into mtcars(row_names, mpg, cyl, disp, hp, drat, wt, qsec, vs, am, gear, carb)values('New Mazda RX4 Wag', 21, 6, 168.5, 110, 3.9, 2.875, 17.02, 0, 1, 4, 4)"
    )
    
  • 建表

    • 使用函数dbWriteTable()创建表。 如果表已经存在,它将覆盖该表,并将数据帧用作输入。

      # Create the connection object to the database where we want to create the table.
      mysqlconnection = dbConnect(MySQL(), user = 'root', password = '', dbname = 'sakila', host = 'localhost')# Use the R data frame "mtcars" to create the table in MySql.
      # All the rows of mtcars are taken inot MySql.
      dbWriteTable(mysqlconnection, "mtcars", mtcars[, ], overwrite = TRUE)
      
  • 删除表

    dbSendQuery(mysqlconnection, 'drop table if exists mtcars')
    

R语言数据接口(下载、读取、写入)相关推荐

  1. R语言与数据分析——【笔记】2.R语言数据存储与读取

    R语言通过工作目录来对文件读取和写入,若一个文件不在工作目录,则必须给出其路径 可使用命令getwd()(获得工作目录)来找到目录:使用命令setwd("F:/2glkx")将当前 ...

  2. r股票数据接口读取CSV文件

    r股票数据接口读取CSV文件的步骤,如下: 一.CSV文件 1.获取和设置工作目录: 2.getwd()函数,可用于获取当前工作目录: 3.setwd()函数,可用于设置当前工作目录,如:setwd( ...

  3. r语言股票接口如何获取数据?

    r语言股票接口是有权限的,想从r语言股票接口上获取数据,要先前往其官网进行注册,然后获取你本人的token码,输入R里,与tushare进行连接.相当于token码是你的通行证,在R里输入下述代码,就 ...

  4. R语言数据的排序、转换、汇总

    R学习笔记4_初级 数据排序 sort函数 rank函数 order函数 数据转换 长宽型数据转换 stack函数 tapply函数 reshape函数 reshape2函数 变量因子化(连续变量离散 ...

  5. r语言 读服务器数据,R语言数据实战 | 安装R语言

    原标题:R语言数据实战 | 安装R语言 1.R的获取和安装 获取和安装R很容易(这也是它"亲民"的地方),具体步骤如下: Step 1: 登陆R语言官方网站https://www. ...

  6. 推荐:一本“高颜值”的R语言数据可视化图书(包邮送3本)

    文章留言点赞前3名的朋友,每人送1本<R语言数据化可视化之美增强版>,名单揭晓日期为:本周日 (2020年7月12日晚7点).到时,获奖的朋友可以直接添加微信:meta-genomics, ...

  7. R语言数据可视化 ggplot2基础2 创建单图层的散点图 创建facet

    R语言数据可视化 ggplot2基础2 创建单图层的散点图 创建facet 单图层散点图 单图层散点图的facet 单图层散点图 这一讲我们从最简单的散点图开始介绍ggplot2应用的基础,首先我们下 ...

  8. R语言数据对象与运算

    R语言数据对象与运算 笔记整理 2.1 数据对象及类型 R语言创建和控制的实体被称为对象(object) ls()命令来查看当前系统里的数据对象 R对象的名称必须以一个英文字母打头,并由一串大小写字母 ...

  9. r语言liftchart_最棒的7种R语言数据可视化

    随着数据量不断增加,抛开可视化技术讲故事是不可能的.数据可视化是一门将数字转化为有用知识的艺术. R语言编程提供一套建立可视化和展现数据的内置函数和库,让你学习这门艺术.在可视化的技术实现之前,让我们 ...

  10. R语言数据科学程序包:Tidyverse介绍

    R语言数据科学程序包:Tidyverse介绍 1. R语言简介 2. 数据科学简介 3. Tidyverse简介 1. R语言简介 R语言是用于统计计算和绘图的免费软件.它可以在Windows, Un ...

最新文章

  1. SparkStreaming从Kafka读取数据两种方式
  2. js实现全选和反选功能
  3. C#操作SQL Server通用类
  4. 直播马上开始|不要怂,一起上!关于黑客攻防,我们有话要说
  5. java 画砖块,钢笔画入门:教你画砖块
  6. UIViewController 之LoadView详解
  7. ubuntu 搜狗输入法的安装
  8. 通信原理的新认识-从实践到原理
  9. 颜色表大全 颜色中英文对照表
  10. 坚定文化新自信 提升文化软实力
  11. 生活中有哪些坏习惯一旦改正就能带来立竿见影的好处?
  12. 546家企业被列为建议支持的国家级专精特新“小巨人”企业
  13. 电脑分屏设置主屏_WinXP电脑双屏显示设置的方法
  14. 新型多功能、高性能量子点,可以用于医学成像、量子计算
  15. 微信小程序和野狗数据库结合
  16. python输入float_float是什么意思_在python中 float是什么意思?
  17. Scala错误:找不到或无法加载主类 xxx解决方法
  18. snipaste 快捷键被chrome占用解决
  19. Ubuntu 出现结构需要清理 (structure needs cleaning)
  20. freeswitch 录音为mp3格式

热门文章

  1. 同时处理知网、万方、维普数据库——CiteSpace、Ucinet、Vosviewer等
  2. jdk1.6-64下载
  3. uniapp打包H5与uniapp打包apk交互,实现扫码功能。
  4. iOS硬解码H264视频流
  5. TextWatcher使用
  6. 嵌入式 | 51 单片机《手把手教你51单片机-C语言版》
  7. Excel 数据透视表入门教程
  8. 1. JDK版本变迁和各版本新特性
  9. 吉米多维奇数学分析习题集每日一题--泰勒公式习题1377
  10. vue如何加载html字符串_VUE渲染后端返回含有script标签的html字符串示例