R语言--输入输出

Posted One-Way

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)

 

以上是关于R语言--输入输出的主要内容,如果未能解决你的问题,请参考以下文章

C语言要限定输出字符串的长度应该怎么操作?

片段(Java) | 机试题+算法思路+考点+代码解析 2023

r语言repeat语句内嵌套多层if语句的代码?

C语言:让用 户输入 一个坐标值 (一共是8行8列),输出如下: 请高手修改代码,谢谢了

R语言之数据输入与输出

java缓冲字符字节输入输出流:java.io.BufferedReaderjava.io.BufferedWriterjava.io.BufferedInputStreamjava.io.(代码片段