R语言:R语言文件IO操作

  • 导入分隔符文件
    语法:  mydataframe <- read.table(file, header=logical_value,sep="delimiter", row.names="name")
    参数说明:
         file 文件路径(包含文件名)
         header 是否具有表头
         sep 分隔符
         row.names
    
    例子:
    setwd("d:\\data")
    grades <- read.table("studentgrades.csv", header=TRUE, sep=",")
    
  • 导入files目录下文本
    files=paste("files/",dir("files"),sep="")
    fs=c()
    for(i in 1:length(files))
        fs[i] <- paste(readLines(files[i]),collapse="\n")          #按行读取文本文件,每一行用“\n”隔开
    rcorp <- Corpus(VectorSource(fs))   #把字符串生成corpus格式,VectorSource把字符串变成输入的文档格式,几个字符串就表示有几个文档
    
  • 导入词典
    install.packages('rJava')                                       #安装rJava
    install.packages("Rwordseg",repos="http://jliblog.com/crap")   #安装Rwordseg
    require(Rwordseg)                                               #加载
    system.time(for(i in 1:10000) segmentCN("setence"))
    installDict("E:/Download/userLibrary.dic")                      #导入词典(userLibrary.dic)
    options(dic.dir = "D:/day_file/R")                              #用户自定义字典
    loadUserDict()
    insertWords("sentence")                                         #添加
    removeWords("sentence")                                         #删除
    
  • 导入Excel数据
    library(xlsx)
    workbook <- "d:/data/tot.xlsx"
    mydataframe <- read.xlsx(workbook, 1 ,encoding='UTF-8')
    
    library(RODBC)  
    channel=odbcConnectExcel("d:/test.xls")  
    mydata=sqlFetch(channel,'Sheet1') # 如果是Excel2007格式数据则要换一个函数odbcConnectExcel2007 
    

    注:rJava安装之前需要配置Java环境变量
    JDK下载:http://pan.baidu.com/s/1eQrKIaA
    配置JAVA的环境变量: http://jingyan.baidu.com/article/f96699bb8b38e0894e3c1bef.html

  • 保存和加载R的数据

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

    a <- 1:10  
    save(a, file = "data/dumData.Rdata") # data文件为当前工作目录下的文件,必须存在  
    rm(a)  
    load("data/dumData.Rdata")  
    print(a)  
    
  • 导入和加载.csv文件

    导入和加载.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") 
    
    csv <- read.csv("tot5.csv",header=T, stringsAsFactors=F)         #header 第一行是否作为标题
    
  • 导入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") 
    
  • 导入数据库中的数据
    library(RODBC)  
    Connection <- odbcConnect(dsn="servername",uid="userid",pwd="******")  
    Query <- "SELECT * FROM lib.table WHERE ..."  
    # Query <- readChar("data/myQuery.sql", nchars=99999) 或者选择从SQL文件中读入语句  
    myData <- sqlQuery(Connection, Query, errors=TRUE)  
    odbcCloseAll() 
    

    11/15/2014 2:43:13 PM

    参考文献:
    1.http://www.xiaowanxue.com/up_files/201212203744.html 
    2.http://www.dataguru.cn/article-1688-1.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值