R语言--输入输出

来源:互联网 时间:2016-09-13

基本输入输出

输入:

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),'\n') #通过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 \n')

cat(x,'\n')

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)

 

相关阅读:
Top