未加星标

R语言--输入输出

字体大小 | |
[系统(linux) 所属分类 系统(linux) | 发布者 店小二03 | 时间 20160901 | 作者 红领巾 ] 0人收藏点击收藏

基本输入输出

输入:

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
R语言--输入输出

模拟数据和数据集

R语言--输入输出
#模拟数据和数据集
#任意分布
# 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)

本文地址:http://www.linuxidc.com/Linux/2016-09/135304.htm


R语言--输入输出

本文系统(linux)相关术语:linux系统 鸟哥的linux私房菜 linux命令大全 linux操作系统

分页:12
转载请注明
本文标题:R语言--输入输出
本站链接:http://www.codesec.net/view/483481.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 系统(linux) | 评论(0) | 阅读(32)