楼主: guaizijing
3153 3

[学习分享] R语言核心技术手册---语言篇---书中代码与个人注释 [推广有奖]

  • 1关注
  • 1粉丝

已卖:67份资源

博士生

15%

还不是VIP/贵宾

-

威望
0
论坛币
1 个
通用积分
110.5690
学术水平
2 点
热心指数
8 点
信用等级
2 点
经验
166 点
帖子
67
精华
0
在线时间
362 小时
注册时间
2010-3-11
最后登录
2025-9-9

楼主
guaizijing 发表于 2016-7-16 10:59:05 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
  1. #R代码由一系列表达式组成,包括赋值语句、条件语句和算术表达式等
  2. x<-7;x
  3. if(x>8) "yes" else "no"
  4. 127%%10
  5. #表达式由对象和函数构成,可以用换行符或者分号来分隔表达式
  6. #所有R代码都用于操作对象,对象是计算机世界里的个体,R中对象包括向量、列表、函数等
  7. #R中变量的名字称为符号,将一个对象赋给变量名时,其实是将该对象赋给当前环境里的一个符号
  8. #函数是R中的特殊对象,函数接受输入对象,并返回输出对象
  9. #R中所有工作都是由函数完成的。R中所有语句包括设定变量、数学运算和代码循环都可以写成函数

  10. #在赋值语句中,对象会被复制形成拷贝
  11. x<-1:10
  12. f<-function(w,i){w[i]<-4} #创建一个将w的第i个元素设为4的函数
  13. f(x,1)
  14. x


  15. #R中的一切---函数、符号,甚至表达式---都是对象

  16. #NA表示缺失值,not available
  17. #-Inf表示负无穷
  18. #Inf表示正无穷
  19. 1/0
  20. #NaN表示没有意义的结果
  21. 0/0
  22. #NULL通常表示函数参数没有被赋值

  23. #使用前缀数字0和小写字母x可以将对象指定为十六进制计数法表示
  24. 0xFFFF
  25. typeof(1) #返回数据结构
  26. typeof(as(1,"integer")) #as函数指定数据结构

  27. #R中复数表示为“实部+虚部i”
  28. 0+1i^2
  29. sqrt(-1+0i) #sqrt函数返回结果的类型与其输入参数的数据类型一致
  30. sqrt(-1)

  31. #可以用反引号定义一个包含特殊字符或以数字开头的符号
  32. `1+2+3=7`<-"hello,world"
  33. `1+2+3=7`
  34. #并非所有的单词都能作为有效的符号,有些单词由于在R中有特殊用途而被保留

  35. #取模运算
  36. 27%%4
  37. #整除运算
  38. 27%/%4

  39. #用户可以自定义运算符,一般由一对百分号和百分号字符中间的字符串组成
  40. #自定义运算符:创建一个有变量的函数,将其赋值给一个适当的符号
  41. `%myop%`<-function(a,b){2*a+2*b}
  42. 2 %myop% 3

  43. #括号会返回括号内表达式的执行结果
  44. (x<-c(4,5,6,7))
  45. #花括号用于执行一系列表达式,并返回最后一个表达式的执行结果
  46. {x<-7;y<-4;x^y}

  47. if(T)"this will be"
  48. if(F)"this will be" else "this will not be"
  49. #if语句如果条件语句是由一个以上的逻辑值组成的向量,执行该语句时只会用到向量中的第一个元素
  50. #如果要进行向量化操作,可以使用ifelse函数
  51. x<-10
  52. y<-c(12,11,13)
  53. if(x<y) x else y
  54. ifelse(x<y,x,y)

  55. #根据不同的单个输入返回不同的值
  56. m.if.then<-function(x){
  57. if(x=="a")
  58. "camel"
  59. else
  60. if(x=="b")
  61. "bear"
  62. else
  63. "moose"
  64. }
  65. #借助switch函数实现同样的目的
  66. m.switch<-function(x){
  67. switch(x,
  68. a="camel",
  69. b="bear",
  70. "moose")
  71. }

  72. m.if.then("a")
  73. m.if.then("g")
  74. m.switch("a")
  75. m.switch("g")

  76. #repeat循环结构
  77. i<-5
  78. repeat{if(i>25) break else {print(i);i<-i+5}}

  79. #while循环结构
  80. i<-5
  81. while(i<=25){print(i);i<-i+5}

  82. #for循环结构
  83. for(i in seq(from=5,to=25,by=5)) print(i)

  84. #循环中,使用break命令可以跳出循环,使用next命令可以跳至循环的下一轮迭代

  85. #使用x[s]可以根据元素位置在向量中查找元素
  86. x<-1:23
  87. x[7]
  88. #通过负整数返回一个删除特定位置元素之后的向量
  89. x[-10:-1]
  90. #使用x[s]可以实现元素替换
  91. #可以使用逻辑向量作为索引向量进行数据引用
  92. #逻辑向量不必与向量本身长度相同,R会自行重复较短的向量并返回匹配的值
  93. y<-1:20
  94. y[c(T,F)]
  95. y[rep(c(T,F),15)]

  96. #设定recursive=T时,c函数可以从其他数据结构中递归形成向量
  97. (v<-c(0.1,0.2,list(0.3,0.4)))
  98. (vv<-c(0.1,0.2,list(0.3,0.4),recursive=T))

  99. #应用seq生成序列
  100. seq(from=1,to=20,by=5)
  101. seq(from=1,to=20,length=6)

  102. #生成矩阵
  103. (m<-matrix(data=1:12,nrow=4,ncol=3,
  104.            dimnames=list(c("r1","r2","r3","r4"),
  105.                          c("c1","c2","c3"))))

  106. #因子
  107. (ec<-factor(c("a","a","b","c","b","b")))
  108. #创建有序因子
  109. (sr<-factor(c("a","a","b","c","c","d","d"),
  110.            levels=c("d","b","c","a"),
  111.            order=T))
  112. #通过移除类属性创建整型向量
  113. (srv<-unclass(sr))
  114. #通过设定类属性将整型向量重新转换为因子
  115. class(srv)<-"factor"
  116. srv

  117. #时间序列
  118. ts(1:8,start=c(2008,2),frequency=4)
  119. library(nutshell)
  120. data(turkey.price.ts)
  121. turkey.price.ts
  122. start(turkey.price.ts)
  123. end(turkey.price.ts)

  124. #日起对象
  125. dm<-as.Date("6/1/2008","%m/%d/%Y")
  126. tm<-Sys.Date()
  127. tm-dm

  128. #通过attributes函数可以获得一个包含对象所有属性的列表
  129. #比较两个对象是否相同,可以使用all.equal函数或identical函数
  130. #class函数获知对象的类
  131. #typeof函数获知对象的类型
复制代码


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:技术手册 核心技术 R语言 计算机世界 else 技术 笔记 代码 语言 注释

心不崎岖,路就不会坎

沙发
guaizijing 发表于 2016-7-16 11:00:25
脚本截图

NUTSHELL语言篇.png (65.73 KB)

NUTSHELL语言篇.png

藤椅
newfei188 发表于 2016-11-13 01:00:45
9没有附件???WHY

板凳
lonestone 在职认证  发表于 2016-11-13 06:17:21 来自手机
guaizijing 发表于 2016-7-16 10:59
谢谢你

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-25 02:55