首页 > 代码库 > R语言--输入输出

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=http://www.mamicode.com/edit(mydata)  #通过edit直接修改mydatamydata2=data.frame()    #创建一个空的data.framemydata2=edit(mydata2) mydata2fix(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),\n) #通过format指定有效位cat (hello world,file=d:/app.log)#重定向 sinksink(output.txt,append = T) #追加方式重定向print(hello world)           sink()                        #使用完毕需要sink()sink(d:/output.txt)         cat(hello world \n)            cat(x,\n)       sink()                     x=rnorm(10)xprint(x,digits=2)getOption(digits)        #获取digits选项信息 默认为7options(digits = 7)         #修改选项信息x

 

模拟数据和数据集

#模拟数据和数据集#任意分布# y=a*x+b+e# x~N(0,2)# e~N(0,1)# b=0.5 , a=2set.seed(10)       #随机种子 从指定相同的随机种子开始,后续产生的随机数的结果是一样的x=rnorm(100,0,2)e=rnorm(100)y=2*x +0.5 + eplot(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 = @) #读取文本文件xstr(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

#RMySQLinstall.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)userstmpUser=data.frame( name=paste(user,1:100,sep=‘‘),                    age=rnorm(100,50,5))tmpUserdbWriteTable(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)resres=dbSendQuery(conn,show databases)  #记录及类型dl=fetch(res)  dldbDisconnect(conn)#RODBCinstall.packages(RODBC)library(RODBC)conn=odbcConnect("mysqlodbc")conn=odbcConnect("mysqlodbc", uid="rtest", pwd=rtest)sqlTables(conn)users=sqlFetch(conn,t_user)usersstr(users)users=sqlQuery(conn,select * from t_user where age>15)usersodbcClose(conn)

 

R语言--输入输出