主要学习如何把几种常用的数据格式导入到R中进行处理,并简单介绍如何把R中的数据保存为R数据格式和csv文件。

1、保存和加载R的数据(与R.data的交互:save()函数和load()函数)

a <- 1:10

save(a, file = "data/dumData.Rdata")  # data文件为当前工作目录下的文件,必须存在

rm(a)

load("data/dumData.Rdata")

print(a)

 

2、导入和加载.csv文件(write.csv()函数和read.csv()函数)

var1 <- 1:5

var2 <- (1:5) / 10

var3 <- c("R", "and", "Data Mining", "Examples", "Case Studies")

a <- data.frame(var1, var2, var3)

names(a) <- c("VariableInt", "VariableReal", "VariableChar")

write.csv(a, "data/dummmyData.csv", row.names = FALSE)

b <- read.csv("data/dummmyData.csv")

3、导入SPSS/SAS/Matlab等数据集

# 导入spss的sav格式数据则要用到foreign扩展包,加载后直接用read.spss读取sav文件

library(foreign)

mydata=read.spss('d:/test.sav')

# 上面的函数在很多情况下没能将sav文件中的附加信息导进来,例如数据的label,

# 那么建议用Hmisc扩展包的spss.get函数,效果会更好一些。

library(Hmisc)

data=spss.get("D:/test.sav")

导入时候,如果报了这样的错误:

Unrecognized record type 7, subtype 24 encountered in system file

可以使用下面的这个包:

library(memisc)

data<-as.data.set(spss.system.file("D:/test.sav"))

4、导入数据库中的数据

library(RODBC)

#这里是载入RODBC

Connection <- odbcConnect(dsn="servername",uid="userid",pwd="******")

#连接刚才添加进数据源的数据库,表示用户名为user,密码是****

Query <- "SELECT * FROM lib.table WHERE ..."

# Query <- readChar("data/myQuery.sql", nchars=99999)    --或者选择从SQL文件中读入语句

myData <- sqlQuery(Connection, Query, errors=TRUE)

#在R中查询

odbcCloseAll()

#最后要记得关闭连接

R通过RODBC方式进行数据存取的主要函数如下:
函数名称                               函数描述
odbcConnect(dsn, uid="", pwd="")   # 建立并打开连接  
sqlFetch(channel, sqtable)         # 从数据库读取数据表,并返回一个数据框对象
sqlQuery(channel, query)           # 向数据库提交一个查询,并返回结果
sqlSave(channel, mydf, tablename = sqtable, append = FALSE)

# 将一个数据框写入或更新(append=True)到数据库
sqlDrop(channel, sqtable)          # 从数据库删除一个表
sqlClear(channel, sqtable)   # 删除表中的内容
sqlTables(channel)  # 返回数据库中表的信息
sqlColumns(channel, sqtable)  # 返回数据库表sqtable列的信息
close(channel)  # 关闭连接

操作步骤:建立DSN——〉打开连接——〉数据操作——〉关闭连接

5、导入Excel数据

library(RODBC)

channel=odbcConnectExcel("d:/test.xls")

mydata=sqlFetch(channel,'Sheet1')      #如果是Excel2007格式数据则要换一个函数odbcConnectExcel2007

R语言:导入导出数据的更多相关文章

  1. Android开发笔记:SQLite导入导出数据

    SQLite是Android中最方便使用的数据库了,现在看下如何快速的在SQLite中导入导出数据. 首先由于是.NET项目转Android,原有数据库使用的是SQLSERVER,由于项目相同部分结构 ...

  2. R语言分析朝阳医院数据

    R语言分析朝阳医院数据 本次实践通过分析朝阳医院2016年销售数据,得出“月均消费次数”.“月均消费金额”.“客单价”.“消费趋势”等结果,并据此作出可视化图形. 一.读取数据: library(op ...

  3. CRL快速开发框架系列教程九(导入/导出数据)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  4. mysql导入导出数据中文乱码解决方法小结

    linux系统中 linux默认的是utf8编码,而windows是gbk编码,所以会出现上面的乱码问题. 解决mysql导入导出数据乱码问题 首先要做的是要确定你导出数据的编码格式,使用mysqld ...

  5. 解决mysql导入导出数据乱码问题

    最近在linux上面用mysqldump导出数据,放在windows系统中导入就会出现中文乱码,然后就会导致出现: Unknown MySQL server host和Can't connect to ...

  6. [转]mysql导入导出数据中文乱码解决方法小结

    本文章总结了mysql导入导出数据中文乱码解决方法,出现中文乱码一般情况是导入导入时编码的设置问题,我们只要把编码调整一致即可解决此方法,下面是搜索到的一些方法总结,方便需要的朋友. linux系统中 ...

  7. oracle中导入导出数据备份数据库

    原文:oracle中导入导出数据备份数据库 数据库所在位置                         将数据导出到的文件名                    用户名 备份数据库 :exp c ...

  8. PLSQL导入/导出数据方法

    PLSQL导入/导出数据方法 PLSQL导入/导出数据方法 以前导数据库信息的时候,总是会先开启sql窗口,把自己手写的建表文件复制进去,然后再导入数据信息. 今天突然懒得去找以前的建表文件,而想用S ...

  9. oracle10g和oracle11g导入导出数据区别

    其中flxuser为用户名,flxuser为密码,file值为导入到数据库中的备份文件. oracle10g和oracle11g导入导出数据的命令方式大有不同: oracle10g导入数据: imp  ...

  10. 利用sqoop将hive数据导入导出数据到mysql

    一.导入导出数据库常用命令语句 1)列出mysql数据库中的所有数据库命令  #  sqoop list-databases --connect jdbc:mysql://localhost:3306 ...

随机推荐

  1. Linux三剑客之老二-------sed命令详解

    sed命令 文件 编辑 本文索引 [隐藏] sed的选项.命令.替换标记 选项 参数 sed命令 sed替换标记 sed元字符集 sed用法实例 替换操作:s命令 全面替换标记g 定界符 删除操作:d ...

  2. python函数回顾:all()

    描述 all() 函数用于判断给定的可迭代参数 iterable 中的所有元素,是否不为 0.''.False 或者 iterable 为空,如果是返回 True,否则返回 False. 如果是空元组 ...

  3. python 时间模块小结

    python有两个重要的时间模块,分别是time和datetime time模块 表示时间的几种方法 时间元组 time.struct_time( tm_year=2016, tm_mon=7, tm ...

  4. 0401-服务注册与发现、Eureka简介

    一.硬编码问题 解决方案:nginx.或.服务注册与发现 二.服务发现 注册.心跳机制 三.服务发现组件的功能 1.服务注册表:是一个记录当前可用服务实例的网络信息的数据库,是服务发现机制的核心.服务 ...

  5. F-02 创建财务凭证BAPI

    **.获取抬头参数, documentheader **.项目参数 accountgl = lt_acgl"G/L account item accountreceivable = lt_a ...

  6. 002 MIRO发票校验采购订单项目科目分配类别检查增强-20150819

    BADI SE19:ZINVOICE_UPDATE   MIRO发票检验过账好模拟时,检查采购订单line 是否有固定资产的行项目,如果有固定资产项目,则弹出提示框,提示消息:存在规定资产采购项目! ...

  7. net mvc 利用NPOI导入导出excel

    1.导出Excel : 首先引用NPOI包(Action一定要用FileResult) /// <summary> /// 批量导出需要导出的列表 /// </summary> ...

  8. flask实例化参数以及信号

    一.实例化补充 instance_path和instance_relative_config是配合来用的.这两个参数是用来找配置文件的,当用app.config.from_pyfile('settin ...

  9. Jquery.ScrollLoading图片延迟加载技术

    关于分屏加载图片,像天猫.京东等电商图片较多页面很长,就采用了延迟加载技术. 目前很流行的做法就是滚动动态加载,显示屏幕之外的图片默认是不加载的, 随着页面的滚动,显示区域图片才被动态加载. 原理其实 ...

  10. Linux脚本程序包及安装

    概述 脚本程序并不多见,所以在软件包分类中并没有把它列为一类.它更加类似于 Windows 下的程序安装,有一个可执行的安装程序,只要运行安装程序,然后进行简单的功能定制选择(比如指定安装目录等),就 ...