R语言笔记(自用)

基本操作

1.R语言中所有的函数都要加括号,getwd()、setwd(" “)等
2.在R语言中,对变量进行赋值无需提前声明,但变量名不能是数字开头;赋值符号为 “<-”。”<<-"表示强制赋值给一个全局变量而不是局部变量。ls.str()函数可以列出所有变量及其对应的数值
在这里插入图片描述
3.rm()函数可以删除定义的变量,e.g. rm (x)

R中的数据结构

1.向量、标量

1.1 基本内容

· R中的向量概念是于数学中的向量是不同的,更类似于数学上的集合的概念,由一个/多个元素构成
· 用函数 c() 来创建向量,向量可以包含数字、字符串、逻辑符等
在这里插入图片描述
· 向量化计算最大的好处是不用循环,直接计算
在这里插入图片描述

1.2 向量索引

  1. 正负数、向量索引:
    正数就是数组索引,负数表明取除了这个位置的其他数据,索引表示取这个区间中的数据
    在这里插入图片描述
  2. 在索引中还可以直接输入逻辑值,只有为TRUE时才能输出(注意当多了一个逻辑值时会产生一个缺失值NA)
    在这里插入图片描述
  3. 对于字符串类型的向量,%in%可判断一个字符串是否在向量中
    在这里插入图片描述
  4. 给向量添加名字,之后可以通过名字来进行索引
    在这里插入图片描述
  5. 向量元素的增删**
    5.1 增加数据:
    可以直接插入一个数据,也可批量插入数据,也可在指定的位置后面插入数据
    在这里插入图片描述
    5.2 删除数据
    删除整个向量
    在这里插入图片描述
    删除指定位置的数值
    在这里插入图片描述

1.3 向量运算

  1. % / %是取整运算!!!
    在这里插入图片描述
  2. 不同长度的向量之间可以进行运算(就是把短的向量中的元素循环使用),长的向量的长度必须是短向量的整数倍
    在这里插入图片描述
  3. 向量的元素之间也可以直接进行比对
    · %in%是判断是否匹配,类似于python中的in
    · 比较符号是 == !
    在这里插入图片描述
  4. 向量计算的函数
    abs(),sqrt(),log(),celiing(返回大于数值的最小整数),floor(返回不大于数值的最大整数),trunc(返回整数部分),round(x,digits = (四舍五入,digits表示保留小数的位数)),sigif(x,digits = (保留有效数字,digits表示保留数字的位数))等是用来对向量中的元素进行处理。
    sum(),min(),mean(),var(方差),prod(连乘),which(x(返回x在向量中所在的位置))等是对向量整体进行计算。

2.矩阵(Matrix)

矩阵是有维度的向量,这里的矩阵元素可以是数值型、字符型或逻辑型,每个元素必须有相同的模式,用matrix()函数来构造,并可选定是按行/列排序
在这里插入图片描述
把一个向量加上一个维度就可以转换成矩阵

在这里插入图片描述

  • 矩阵的索引
    就是正常的行列号索引,负数表明去除这一行/列
    在这里插入图片描述
  • 矩阵的乘法
    "*“就表示的是对应行列位置的数相乘,”% * %"表示的是真正的矩阵乘法
    在这里插入图片描述

3.列表(List)

列表是一些其他对象的有序集合。列表中可以存储若干向量、矩阵、数据框、甚至是其他列表的组合;其与向量都是一维的数据集合,不过列表可以存放任意对象。
在这里插入图片描述
通过给每个元素命名后就有多种访问元素的方法
在这里插入图片描述
注意:mlist[1]得到的是mlist的一个子集,其类型仍为list,mlist[[1]]得到的就是元素本身的数据类型
在这里插入图片描述
插入方式同向量,但要注意是 双中括号,要删除的话就直接是负数即可
在这里插入图片描述

4.数据框(Dataframe)

数据框实际上是一个列表。列表中的元素是向量,这些向量构成数据框的列,每一列都必须有相同的长度,所以数据框是矩形结构,且数据框中的列必须命名
在这里插入图片描述
使用data.frame()函数构建df
在这里插入图片描述
其索引和列表的是类似的
在这里插入图片描述

5.因子

因子也是一个向量,最大作用就是分类
在这里插入图片描述
e.g. 有不同颜色的海洋球,每一种颜色就是一种水平(level),所有海洋球的集合就是一个向量,可以统计这个向量每个颜色球的数量

  • 因子的应用:计算频数、独立性检验、相关性检验、方差分析、主成分分析、因子分析…
  • 使用factor()函数定义因子,可以在函数中指定level的顺序
    在这里插入图片描述
    plot一个因子其绘制出来的图是柱状图,来统计每个level的数量;也可通过cut()函数将数组转换成一个因子类型的,如下图所示:
    在这里插入图片描述

6. 缺失值

NA与任何值计算后都是NA,NA与任何值进行比较后不返回T/F而是返回NA,那么如何对有NA的数组进行求值呢?na.rm = T,但要注意一点,na.rm是直接将NA去除了,所以在总count时是去除了NA后的数量。
在这里插入图片描述
那么如何解决这个问题?na.omit()函数。如果应用于数据框的话,就是删除包含NA的每一行
在这里插入图片描述
在这里插入图片描述

  • 不同缺失值之间有差别:NA是存在的值但不知道是多少,NaN表示不存在,Inf表示存在时无穷大/小
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值