02 R语言入门——向量、矩阵与函数(基本数据分析技巧)

本文介绍了R语言中的基本数据对象,包括向量、矩阵及其操作,如向量运算、矩阵创建及子集选择,并探讨了数据框、函数的使用,如mean(), sum(), plot()等,以及如何利用attach()处理数据。" 112733473,10542572,理解中心极限定理与高斯分布,"['概率论', '统计学', '数据分布', '机器学习', '数学原理']
摘要由CSDN通过智能技术生成

02 R语言入门——向量、矩阵与函数

2.1 对象(objects)

  • R处理的所有数据、变量、函数和结果都以对象的形式保存
  • 变量赋值:
    • a=2
    • a<-2
  • 区分大小写
  • 对象也不能用数字开头,但是数字可以放在中间或结尾
  • 可以用"."作为间隔
  • 不要使用保留名
    • NA
    • NaN
    • pi
    • month.abb
    • month.name

2.2 元素的类型

  • 对象是由各元素组成的。每个元素都有自己的数据类型。
类型 举例
数值型 Numeric 100, 0, -4.335
字符型 Character “China”
逻辑型 Logical TRUE,FALSE
因子型 Factor 表示不同类别
复数型 Complex 2+3i

2.3 运算符

  • 数学运算:+, -, *, /, ^(幂)
  • 比较运算:运算后给出判别结果(TRUE FALSE):>, <, >=, <=, ==, !=
  • 逻辑运算:与&, &&;或|, ||;非!
> a = 1
> a
[1] 1
> a <- 2
> a
[1] 2
> b = 3
> a > 2
[1] FALSE
> b > 2
[1] TRUE
> a > 2 & b > 2
[1] FALSE
> a > 2 | b > 2
[1] TRUE

2.4 对象的类

  • 向量 vector
  • 矩阵 matrix
  • 数组 array
  • 数据框 dataframe
    • 是由一个或几个向量和(或) 因子构成,它们必须是等长的,但可以是不同数据类型
  • 列表 list
    • 可以是不同类型甚至不同长度的向量、数据框甚至是列表的组合

2.5 类的判断

  • mode() 判断储存的类型
  • class() 判断数据的类
  • is.numeric() 返回TRUE或FALSE
  • is.logical() 是否为逻辑值
  • is.character 是否为字符串
  • is.null 是否为空
  • is.na 是否为na
    举例
> a = c(1,2,3); b = c("x","y","z")
> is.numeric(a) #a为数值型,返回TRUE
[1] TRUE
> is.numeric(b) #b为字符串型,返回FALSE
[1] FALSE

2.6 序列和向量

#生成了从-1到10,长度为100位的序列。R自动进行了平均化处理。
> z = seq(-1, 10, length=100) #length也可以用缩写len
> z 
  [1] -1.0000000 -0.8888889 -0.7777778 -0.6666667 -0.5555556 -0.4444444 -0.3333333 -0.2222222 -0.1111111  0.0000000
 [11]  0.1111111  0.2222222  0.3333333  0.4444444  0.5555556  0.6666667  0.7777778  0.8888889  1.0000000  1.1111111
 [21]  1.2222222  1.3333333  1.4444444  1.5555556  1.6666667  1.7777778  1.8888889  2.0000000  2.1111111  2.2222222
 [31]  2.3333333  2.4444444  2.5555556  2.6666667  2.7777778  2.8888889  3.0000000  3.1111111  3.2222222  3.3333333
 [41]  3.4444444  3.5555556  3.6666667  3.7777778  3.8888889  4.0000000  4.1111111  4.2222222  4.3333333  4.4444444
 [51]  4.5555556  4.6666667  4.7777778  4.8888889  5.0000000  5.1111111  5.2222222  5.3333333  5.4444444  5.5555556
 [61]  5.6666667  5.7777778  5.8888889  6.0000000  6.1111111  6.2222222  6.3333333  6.4444444  6.5555556  6.6666667
 [71]  6.7777778  6.8888889  7.0000000  7.1111111  7.2222222  7.3333333  7.4444444  7.5555556  7.6666667  7.7777778
 [81]  7.8888889  8.0000000  8.1111111  8.2222222  8.3333333  8.4444444  8.5555556  8.6666667  8.7777778  8.8888889
 [91]  9.0000000  9.1111111  9.2222222  9.3333333  9.4444444  9.5555556  9.6666667  9.7777778  9.8888889 10.0000000
#生成以10为起点,-1为终点,步长为-1的序列
z = seq(10, -1, -1) 
> z
 [1] 10  9  8  7  6  5  4  3  2  1  0 -1
#直接生成从10到-1的序列,形式为整数
> z = 10:-1
> z
 [1] 10  9  8  7  6  5  4  3  2  1  0 -1
#生成重复元素的序列,3重复1次,4重复2次,5重复3次
> x = rep(3:5, 1:3)
> x
[1] 3 4 4 5 5 5
#将序列(1,1,4,5,1,4)重复2遍
> x = rep(c(1,1,4,5,1,4), 2)
> x
 [1] 1 1 4 5 1 4 1 1 4 5 1 4
 #总之,注意元素的对应逻辑
 > x = rep(c(1,10),c(4,5))
> x
[1]  1  1  1  1 10 10 10 10 10
> w = c(1,3,x,z
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值