zoukankan      html  css  js  c++  java
  • R语言:导入导出数据

    主要学习如何把几种常用的数据格式导入到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

  • 相关阅读:
    如何理解显示卡的驱动模块(DDX,DRM,DRI,XVMC)
    基于Linux的嵌入式文件系统构建与设计
    Windows系统——后缀为.zip.00X的zip分卷解压
    windows系统——U 盘损坏修复
    windows系统——常用命令
    U盘用FAT32还是用NTFS格式好
    linux系统程序设计教程
    Posix线程编程指南
    编程风格——UNIX 高手的 10 个习惯
    linux压缩文件——解压方法
  • 原文地址:https://www.cnblogs.com/sthinker/p/5732595.html
Copyright © 2011-2022 走看看