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),‘\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)
时间: 2024-10-11 01:25:41

R语言--输入输出的相关文章

R语言快速上手入门

R语言快速上手入门 课程学习网址:http://www.xuetuwuyou.com/course/196 课程出自学途无忧网:http://www.xuetuwuyou.com 课程简介 本教程深入浅出地讲解如何使用R语言玩转数据.课程中涵盖R语言编程的方方面面,内容涉及R对象的类型.R的记号体系和环境系统.自定义函数.if else语句.for循环.S3类R的包系统以及调试工具等.本课程还通过示例演示如何进行向量化编程,从而对代码进行提速并尽可能地发挥R的潜能.本课程适合立志成为数据科学家的

R语言-处理异常值或报错的三个示例

Tuesday, March 31, 2015 之前用rvest帮人写了一个定期抓取amazon价格库存,并与之前价格比较的小程序,算是近期写过的第一个完整的程序了.里面涉及了一些报错的处理. 这里主要参考了stackoverflow上的以下问答: How to skip an error in a loop skip to next value of loop upon error in R tryCatch部分,后续查找资料,发现以下博文: 1. R语言使用tryCatch进行简单的错误处理

c语言输入输出缓冲区的概念

语言输入输出缓冲区的概念 你肯定会奇怪为什么一开始先说这个,一开始不都是数据类型什么的嘛,这个写在最前面因为后面的程序即使最简单的code都会用到输入输出,输出比较简单,可以放在后面再说,但是输入就不同了,如果不先了解一下,可能会得到和你预想不同的结果哦^_^.也正是由于和一般的c语言介绍方式不同,为了看起来正规一些,我就把这章叫做chapter0了,完全可以先跳过去,直接看chapter1. 1.getchar 先引用一下前人的成果(有修改)^_^:http://blog.csdn.net/c

如何R语言快速上手入门

R语言快速上手入门 课程学习网址:http://www.xuetuwuyou.com/course/196 课程出自学途无忧网:http://www.xuetuwuyou.com 课程简介 本教程深入浅出地讲解如何使用R语言玩转数据.课程中涵盖R语言编程的方方面面,内容涉及R对象的类型.R的记号体系和环境系统.自定义函数.if else语句.for循环.S3类R的包系统以及调试工具等.本课程还通过示例演示如何进行向量化编程,从而对代码进行提速并尽可能地发挥R的潜能.本课程适合立志成为数据科学家的

R语言与数据分析之三:分类算法2

上期与大家分享的传统分类算法都是建立在判别函数的基础上,通过判别函数值来确定目标样本所属的分类,这类算法有个最基本的假设:线性假设.今天继续和大家分享下比较现代的分类算法:决策树和神经网络.这两个算法都来源于人工智能和机器学习学科. 首先和小伙伴介绍下数据挖掘领域比较经典的Knn(nearest neighbor)算法(最近邻算法) 算法基本思想: Step1:计算出待测样本与学习集中所有点的距离(欧式距离或马氏距离),按距离大小排序,选择出距离最近的K个学习点: Step2:统计被筛选出来的K

使用R语言计算均值,方差等

R语言对于数值计算很方便,最近用到了计算方差,标准差的功能,特记录. 数据准备 height <- c(6.00, 5.92, 5.58, 5.92) 1 计算均值 mean(height) [1] 5.855 2 计算中位数 median(height) [1] 5.92 3 计算标准差 sd(height) [1] 0.1871719 4 计算方差 var(height) [1] 0.03503333 5 计算两个变量之间的相关系数 cor(height,log(height)) [1] 0

R语言学习-词频分析

概念 1.语料库-Corpus 语料库是我们要分析的所有文档的集合,就是需要为哪些文档来做词频 2.中文分词-Chinese Word Segmentation 指的是将一个汉字序列切分成一个一个单独的词语. 3.停用词-Stop Words 数据处理的时候,自动过滤掉某些字或词,包括泛滥的词如Web.网站等,又如语气助词如的.地.得等. 需要加载的包 1.tm包 安装方式:install.packages("tm") 语料库: Corpus(x,readerControl) x-语料

R语言使用机器学习算法预测股票市场

quantmod 介绍 quantmod 是一个非常强大的金融分析报, 包含数据抓取,清洗,建模等等功能. 1. 获取数据 getSymbols 默认是数据源是yahoo 获取上交所股票为 getSymbols("600030.ss"), 深交所为 getSymbols("000002.sz").  ss表示上交所, sz表示深交所 2. 重命名函数 setSymbolLookup 3. 股息函数 getDividends 4. 除息调整函数 adjustOHLC

R语言数据挖掘实战系列(2)

二.R语言简介 R语言是一种为统计计算和图形显示而设计的语言环境,具有免费.多平台支持,同时可以从各种类型的数据源中导入数据,具有较高的开放性以及高水准的制图功能.R是一个体系庞大的应用软件,主要包括核心的R标准包和各专业领域的其他包.R在数据分析.数据挖掘领域具有特别优势. R安装 R可在其主页(https://www.r-project.org/)上获得,根据所选择的平台进行下载安装.安装完成之后启动R.为了方便使用R,可使用免费的图形界面编辑器RStudio,可从https://www.r