R语言编程艺术(9-10)

#9. 面向对象的编程:
  
  x<-c(1,2,3);y<-c(2,3,8)
  lmout<-lm(y~x)
  class(lmout)#判断属于什么类
  unclass(lmout)#去掉类属性
  methods(print)#找到给定泛型函数的所有实现方法,得到的结果中*标注的是不可见函数
  #可通过getAnywhere()找到他们,再用命名空间限定符访问它们
  #例如:print.aspell(),aspell()对其参数所指定的文件做拼写检查
  a<-list(name="xiong",salary=50000,union=T)
  attributes(a)#对象的结构框架
  b<-matrix(1:9,3,3)
  row(b)#返回大小相同的矩阵,元素为对应的行号
  col(b)
  c<-as.dist(b)
  setClass("employee",representation(name="character",salary="numeric",union="logical"))#定义一个类  employee
  joe<-new("employee",name="Joe",salary=50000,union=T)#为类创建一个实例
  slot(joe,"salary")<-80000#改变实例joe的薪水
  ls(pattern="ut")#给出所有含ut的对象
  save(a,"hzfile")#保存对象到硬盘上
  rm(a)#移除
  ls()#这时候已经不存在了
  load("hzfile")#在R的内存空间中恢复对象

  exists("a")#判断对象a是否存在



#10. 输入与输出
  scan("afile.txt")#从afile文件中读取或者用键盘输入,默认是数值型
  #若是字符模式,则需要改成:
  scan("afile.txt",what="")#what=""把字符赋值给what。表明用字符模式
  scan("afile.txt",sep="\n")#sep设置为换行符,把每行当做一个字符串读入
  a<-scan("")#把文件名设定为空字符串,从键盘读取数据,键入一个空行表示结束输入
  
  b<-readline()#从键盘输入单行数据
  datac<-readline("type your datac:")#指定一个提示语
  
  print(a)#与直接键入变量名的区别是,直接键入不能在函数体内部打印变量
  cat(a)#比print好用,因为print只能输出一个表达式,且输出内容带编号
  cat("a","b","c\n",sep="\n")
  
  scan不能正确读取数据框,因为其中数值和字符混杂(还含有表头)
  ?connection #查看文件连接函数的列表
  seek()#从文件某个位置读取
  close()#关闭连接
  
  #cat函数同样可以用来写入文件:
  cat("abc\n",file="afile")
  cat("de\n",file="afile",append=T)#一次写入一部分


  c<-file("afile","w")
  writelines("fg",c)
  close(c)
  
  d<-dir()#返回当前工作目录下所有文件的名称
  f<-file.path(d,"afile")#把d、斜杠、afile拼接起来
  file.info(f)#返回一个包含文件所有信息的数据框
  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Trisyp

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值