R语言笔记—⒉R语言基础之向量

变量 Variable

  • R语言中创建变量无需事先声明数据类型
  • 可储存数字、单词、矩阵甚至表格

命名规则

  1. 可包含字母、数字、点(.)及下划线(_)
  2. 开头必须是字母(A-Z或a-z)或点(.)
  3. 以点(.)开头不可以紧接数字
  4. 不可以数字开头
  5. 不能是R中保留的关键字

注意:命名区分大小写,如A与a是不同的

保留字

  • NA:缺失值(Not Available)
  • NULL:缺失的或未定义的值
  • NaN:Not a Number(例如0/0)
  • TRUE/FALSE:逻辑值
  • Inf:无穷(例如1/0)
  • If else,repeat,while,function,for,in,next,break:循环语句、条件语句、函数等
  • NA_integer_,NA_real_,NA_complex_,NA_character_:指定类型缺失值

基本数据类型/原子数据类型

(The fundamental/atomic data types)

  • 数值型(numeric)
  • 整数型(integer)
  • 复数型(complex)
  • 字符型(character)
  • 逻辑型(logical)

数据操作符

  • 算术运算符(Arithmetic Operators)      即:加(+),减(-),乘(*),除(/),乘方(^),取余(%%)  
  • 赋值运算符(Assignment Operators)即=,<-,->
  • 逻辑运算符(Logical Operators)    即:!(NOT),&(AND(Element wise)),&&(AND),|(OR(Element wise)),||(OR)
  • 关系运算符(Relational Operators)       即:大于(>),小于(<),大于等于(>=),小于等于(<=),等于(==),不等于(!=)
  • 混合操作符(Miscellaneous Operators)     

:冒号操作符(colon operator)此运算符为考虑的向量顺序创建一系列数值

%in%  判断前一个向量是否包含于后一个向量,返回一个布尔值       

%*%   在需要执行矩阵与其转置相乘的情况下,使用此特定运算符

数据结构

结构化数据类型(封装类型)

  • 向量(vector)

  • 矩阵(matrix)

  • 数组(array)

  • 数据框(data.frame)

  • 列表(list)

  • 因子(factor)

class():显示对象的数据结构

str():显示对象内容

向量

向量是R中最为基本的类型

一个向量中元素的类型必须相同,包括:

  • 数值型(numeric)
  • 整数型(integer)
  • 复数型(complex)
  • 字符型(character)
  • 逻辑型(logical)

向量的构建

c()为应用最广泛的向量构造函数,把所有对象连接起来形成新的向量

seq(from = number,to = number,by =((to-from)/(length.out-1)),length.out = NULL,along.with = NULL)

  • 生成从from到to的向量,by为步长
  • length.out为生成向量的长度
  • along.with取赋予变量长度为元素的个数

rep(x,times =number,length = NA,each = 1)

  • x:为一个向量(mode任意,包括list)
  • times:数值型向量指定每个元素重复的次数,向量的长度为1时,表示重复整个x
  • length.out:输出向量的长度,简写len或者length
  • each:x中每个元素重复的次数

向量的排序

在R中,和排序相关的函数主要有三个:

sort(),rank(),order()

sort(x,decreasing = FALSE,na.last = NA,...)

  • x:排序的对象,可以是字符型,复数型,数值型,以及逻辑型向量
  • decreasing:逻辑,按升序或降序排列,FALSE为递增,TRUE为递减
  • na.last:处理缺失值的逻辑,TRUE为忽略缺失值并将其置于向量末尾,FALSE为置于向量开头,NA为将缺失值移除

rank(x,na.last = TRUE,ties.method = c("average","first","last","random","max","min"))

求秩的函数,返回值是这个向量中对应元素的排名

x:数值型、复数型、字符型或逻辑型向量

na.last:处理缺失值的逻辑,TRUE为忽略缺失值并将其置于向量末尾,FALSE为置于向量开头,NA为将缺失值移除,keep为保持原位

ties.method:一个字符串,指定相同元素的处理方式

  • "average":相同元素都取该组中的平均水平,该水平可能是小数
  • "first":相同元素先者在前后者在后
  • "max":相同元素都取该组中最好的水平,并列排序
  • "min":相同元素都取该组最差水平,可增大水平差异
  • "rendom":相同元素随机编排次序

order(...,na.last =TRUE,decreasing = FALSE,...)

  • 返回值是对应“排名”的元素所在向量中的位置
  • ...:一个数值型、复数型、字符型或逻辑型的向量序列,有着相同的长度或者相同类型的对象

向量的重新赋值

可根据特定索引对向量进行重新赋值

x<-c(42,7,64,9)

x[1]<-1

x

[1]  1  7  64  9

names(x)<-letters[1:4]

x

a   b   c   d

1   7  64   9

x["b"]<-2

x

a   b   c   d

1   2  64   9

x[x>10]<-10

x

a   b   c   d

1   7  10   9

缺失值

NULL:向量的缺失,相当于长度为零的向量

is.null(NULL)

TRUE

is.null(NA)

FALSE

is.na(NULL)

logical(0)

is.null(c(1,2,3,NA)

FALSE

is.na(c(1,2,3,NA)

FALSE FALSE FALSE TRUE

R中NA、NULL、NaN、Inf、-Inf的区别

NA:缺失数据即“Missing value”,是“not available”的缩写;主要会在从文件或数据库读取数据时遇到,或者将一个向量的长度扩展会出现NA值

NULL:空值;一般被用在函数参数中,表示该参数没有被赋予任何值,或者某些函数返回值为Null

NA与NULL的差别还是非常明显的。用一个比喻来讲,NA是已经挖好了一些坑,只是里面没有萝卜而已,这就是所谓的“缺失值”。而NULL则指的是“压根连坑都没有”

NaN:无意义的数即“not a number”,例如sqrt(-2)

Inf:正无穷大

-Inf:负无穷大

和向量有关的函数

min(x) #—最小值

max(x) #—最大值

which.min() #—最小值位置

which.max() #—最大值位置

sum(x) #—求和

length(x) #—求长度

mean(x) #—均值

median(x) #—中位数

var(x) #—方差

sd(x) #—标准差

sort(x),order(x),rank(x) #—排序

unique(x)          #—去冗余

intersect(x,y)      #—交集

union(x,y)          #—并集

setdiff(x,y)        #—差异

 

 

 

 

 

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值