zoukankan      html  css  js  c++  java
  • R语言--输入输出

    基本输入输出

    输入:

    readline, edit, fix

    输出:

    print, cat

    输出重定向

    sink

    #基本输入输出
    x=readline('请输入:')  #读取输入,一行为一个字符串
    x                     #[1] "1 2 3"
    
    mydata=data.frame(name=character(0),age=numeric(0),height=numeric(0)) #通过 character(0)定义域类型
    mydata=edit(mydata)  #通过edit直接修改
    mydata
    
    mydata2=data.frame()    #创建一个空的data.frame
    mydata2=edit(mydata2) 
    mydata2
    
    fix(mydata2)     #通过fix直接修改
    mydata2
    
    
    #输出 print cat 
    x=rnorm(10,100,2)  
    print(x)          #print输出结尾有换行,行开头有元素位置提示
    cat(x)            #cat输出没有换行,顺序排列
    print(x,digits = 4) #有效位
    print ('hello world 1 ') ;print('welcome to R ')
    cat('hello world 1 ') ;cat('welcome to R ') 
    cat(format(x,digits=3),'
    ') #通过format指定有效位
    
    cat ('hello world',file='d:/app.log')
    
    #重定向 sink
    sink('output.txt',append = T) #追加方式重定向
    print('hello world')           
    sink()                        #使用完毕需要sink()
    sink('d:/output.txt')         
    cat('hello world 
    ')            
    cat(x,'
    ')       
    sink()                     
    x=rnorm(10)
    x
    print(x,digits=2)
    
    getOption('digits')        #获取digits选项信息 默认为7
    options(digits = 7)         #修改选项信息
    x

    模拟数据和数据集

    #模拟数据和数据集
    
    #任意分布
    # y=a*x+b+e
    # x~N(0,2)
    # e~N(0,1)
    # b=0.5 , a=2
    
    set.seed(10)       #随机种子 从指定相同的随机种子开始,后续产生的随机数的结果是一样的
    x=rnorm(100,0,2)
    e=rnorm(100)
    y=2*x +0.5 + e
    plot(x,y)
    
    #生成随机数
    (x=rbinom(5,100,0.7))
    (x=rbinom(5,100,0.7))
    
    set.seed(10)
    (x=rbinom(5,100,0.7))
    (x=rbinom(5,100,0.7))
    
    data(package='datasets')   #
    data()                     #
    
    #查看系统所有包中的数据集
    data(package=.packages(all.available = T))
    
    library(arules)  #加载包
    data(Groceries)  #查询数据集

    文件数据源

    文本文件:

    read.table, read.csv, read.delim

    excel文件:

    多种方式

    SPSS文件:

    foreign::read.spss, Hmisc::spss.get

    #文件数据源
    getwd()           #获取当前工作路径    
    setwd('e:/')      #修改当前工作路径
    
    x=rnorm(1000,10,2)
    y=rnorm(1000,10,2)
    z=rnorm(1000,10,2)
    save(x,y,z,file='xyz.Rdata')  #save保存文件,同时保存变量信息
    l=load('xyz.Rdata')           #load加载文件,加载变量信息
    
    
    x=read.table('scan0.txt',header=T,sep=' ',comment.char = '@') #读取文本文件
    x
    str(x)
    
    x=read.csv('scan0.txt',header=F,comment.char = '@',sep=' ') #读取csv文件
    str(x)
    
    x=read.delim('scan.txt',header=F,sep=' ')
    
    x=read.delim('clipboard',header=F)  #读取剪切板信息
    
    x=scan('scan.txt',what=list(date="",pv=0,uv=0),sep=",") #what指定数据类型 通过list指定列表名及数据类型
    
    x=as.data.frame(x)
     
    write.table(x,'scan2.txt',sep=',',quote=F,col.names = T,row.names=F) #写文件
    
    #Excel文件
    # 1、csv文件
    # 2、剪贴板+read.delim
    # 3、xlsx扩展包
    # 4、rodbc数据源
    
    library(foreign)
    cars=read.spss('car_sales.sav')
    
    library(Hmisc)
    
    cust=spss.get('car_sales.sav',use.value.labels = T)
    
    cust

    关系型数据库Mysql

    odbc, rMysql

    #RMySQL
    install.packages('RMySQL')
    library(RMySQL)
    conn = dbConnect(MySQL(),dbname='rtest',username='rtest',password='rtest',host="192.168.1.100",port=3306)
    
    dbListTables(conn)
    dbListFields(conn,'t_user')
    summary(MySQL(),verbose=T)
    
    users=dbReadTable(conn,'t_user')
    str(users)
    users
    
    tmpUser=data.frame( name=paste('user',1:100,sep=''),
                        age=rnorm(100,50,5))
    tmpUser
    dbWriteTable(conn,'t_user',tmpUser,append=T,row.names=FALSE)
    
    
    dbWriteTable(conn,'t_stu',tmpUser,append=T)
    dbReadTable(conn,'t_stu')
    
    
    res=dbGetQuery(conn,'select * from t_user where age>10')
    res
    
    res=dbSendQuery(conn,'show databases')  #记录及类型
    dl=fetch(res)  
    dl
    
    dbDisconnect(conn)
    
    #RODBC
    install.packages('RODBC')
    library(RODBC)
    conn=odbcConnect("mysqlodbc")
    conn=odbcConnect("mysqlodbc", uid="rtest", pwd='rtest')
    sqlTables(conn)
    users=sqlFetch(conn,'t_user')
    users
    str(users)
    
    users=sqlQuery(conn,'select * from t_user where age>15')
    users
    
    odbcClose(conn)
  • 相关阅读:
    随便练习的进制转换
    回顾快速排序
    常用c++函数
    POJ 1163 The Triangle
    HDU 1155 Bungee Jumping
    ZOJ 3861 Valid Pattern Lock
    POJ 1273 Drainage Ditches
    Hrbust 2240 土豪的时代
    POJ 3468 A Simple Problem with Integers
    POJ 1061 青蛙的约会
  • 原文地址:https://www.cnblogs.com/one--way/p/5867979.html
Copyright © 2011-2022 走看看