- 阅读权限
- 255
- 威望
- 0 级
- 论坛币
- 1 个
- 通用积分
- 110.5690
- 学术水平
- 2 点
- 热心指数
- 8 点
- 信用等级
- 2 点
- 经验
- 166 点
- 帖子
- 67
- 精华
- 0
- 在线时间
- 362 小时
- 注册时间
- 2010-3-11
- 最后登录
- 2025-9-9
已卖:67份资源
博士生
还不是VIP/贵宾
- 威望
- 0 级
- 论坛币
 - 1 个
- 通用积分
- 110.5690
- 学术水平
- 2 点
- 热心指数
- 8 点
- 信用等级
- 2 点
- 经验
- 166 点
- 帖子
- 67
- 精华
- 0
- 在线时间
- 362 小时
- 注册时间
- 2010-3-11
- 最后登录
- 2025-9-9
 | 开心 2024-9-8 22:29:29 |
|---|
签到天数: 264 天 连续签到: 1 天 [LV.8]以坛为家I
|
经管之家送您一份
应届毕业生专属福利!
求职就业群
感谢您参与论坛问题回答
经管之家送您两个论坛币!
+2 论坛币
- #R代码由一系列表达式组成,包括赋值语句、条件语句和算术表达式等
- x<-7;x
- if(x>8) "yes" else "no"
- 127%%10
- #表达式由对象和函数构成,可以用换行符或者分号来分隔表达式
- #所有R代码都用于操作对象,对象是计算机世界里的个体,R中对象包括向量、列表、函数等
- #R中变量的名字称为符号,将一个对象赋给变量名时,其实是将该对象赋给当前环境里的一个符号
- #函数是R中的特殊对象,函数接受输入对象,并返回输出对象
- #R中所有工作都是由函数完成的。R中所有语句包括设定变量、数学运算和代码循环都可以写成函数
- #在赋值语句中,对象会被复制形成拷贝
- x<-1:10
- f<-function(w,i){w[i]<-4} #创建一个将w的第i个元素设为4的函数
- f(x,1)
- x
- #R中的一切---函数、符号,甚至表达式---都是对象
- #NA表示缺失值,not available
- #-Inf表示负无穷
- #Inf表示正无穷
- 1/0
- #NaN表示没有意义的结果
- 0/0
- #NULL通常表示函数参数没有被赋值
- #使用前缀数字0和小写字母x可以将对象指定为十六进制计数法表示
- 0xFFFF
- typeof(1) #返回数据结构
- typeof(as(1,"integer")) #as函数指定数据结构
- #R中复数表示为“实部+虚部i”
- 0+1i^2
- sqrt(-1+0i) #sqrt函数返回结果的类型与其输入参数的数据类型一致
- sqrt(-1)
- #可以用反引号定义一个包含特殊字符或以数字开头的符号
- `1+2+3=7`<-"hello,world"
- `1+2+3=7`
- #并非所有的单词都能作为有效的符号,有些单词由于在R中有特殊用途而被保留
- #取模运算
- 27%%4
- #整除运算
- 27%/%4
- #用户可以自定义运算符,一般由一对百分号和百分号字符中间的字符串组成
- #自定义运算符:创建一个有变量的函数,将其赋值给一个适当的符号
- `%myop%`<-function(a,b){2*a+2*b}
- 2 %myop% 3
- #括号会返回括号内表达式的执行结果
- (x<-c(4,5,6,7))
- #花括号用于执行一系列表达式,并返回最后一个表达式的执行结果
- {x<-7;y<-4;x^y}
- if(T)"this will be"
- if(F)"this will be" else "this will not be"
- #if语句如果条件语句是由一个以上的逻辑值组成的向量,执行该语句时只会用到向量中的第一个元素
- #如果要进行向量化操作,可以使用ifelse函数
- x<-10
- y<-c(12,11,13)
- if(x<y) x else y
- ifelse(x<y,x,y)
- #根据不同的单个输入返回不同的值
- m.if.then<-function(x){
- if(x=="a")
- "camel"
- else
- if(x=="b")
- "bear"
- else
- "moose"
- }
- #借助switch函数实现同样的目的
- m.switch<-function(x){
- switch(x,
- a="camel",
- b="bear",
- "moose")
- }
- m.if.then("a")
- m.if.then("g")
- m.switch("a")
- m.switch("g")
- #repeat循环结构
- i<-5
- repeat{if(i>25) break else {print(i);i<-i+5}}
- #while循环结构
- i<-5
- while(i<=25){print(i);i<-i+5}
- #for循环结构
- for(i in seq(from=5,to=25,by=5)) print(i)
- #循环中,使用break命令可以跳出循环,使用next命令可以跳至循环的下一轮迭代
- #使用x[s]可以根据元素位置在向量中查找元素
- x<-1:23
- x[7]
- #通过负整数返回一个删除特定位置元素之后的向量
- x[-10:-1]
- #使用x[s]可以实现元素替换
- #可以使用逻辑向量作为索引向量进行数据引用
- #逻辑向量不必与向量本身长度相同,R会自行重复较短的向量并返回匹配的值
- y<-1:20
- y[c(T,F)]
- y[rep(c(T,F),15)]
- #设定recursive=T时,c函数可以从其他数据结构中递归形成向量
- (v<-c(0.1,0.2,list(0.3,0.4)))
- (vv<-c(0.1,0.2,list(0.3,0.4),recursive=T))
- #应用seq生成序列
- seq(from=1,to=20,by=5)
- seq(from=1,to=20,length=6)
- #生成矩阵
- (m<-matrix(data=1:12,nrow=4,ncol=3,
- dimnames=list(c("r1","r2","r3","r4"),
- c("c1","c2","c3"))))
- #因子
- (ec<-factor(c("a","a","b","c","b","b")))
- #创建有序因子
- (sr<-factor(c("a","a","b","c","c","d","d"),
- levels=c("d","b","c","a"),
- order=T))
- #通过移除类属性创建整型向量
- (srv<-unclass(sr))
- #通过设定类属性将整型向量重新转换为因子
- class(srv)<-"factor"
- srv
- #时间序列
- ts(1:8,start=c(2008,2),frequency=4)
- library(nutshell)
- data(turkey.price.ts)
- turkey.price.ts
- start(turkey.price.ts)
- end(turkey.price.ts)
- #日起对象
- dm<-as.Date("6/1/2008","%m/%d/%Y")
- tm<-Sys.Date()
- tm-dm
- #通过attributes函数可以获得一个包含对象所有属性的列表
- #比较两个对象是否相同,可以使用all.equal函数或identical函数
- #class函数获知对象的类
- #typeof函数获知对象的类型
复制代码
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
|
|
|