R1 Lecture 02 Class Notes

R1 Lecture 02 Class Notes

by YU,Xiang

Mar 10, 2015

R数据结构

  • 向量
  • 矩阵
  • 数组
  • 列表
  • 数据框

向量

向量的生成

c(2,4,6,7,8)
## [1] 2 4 6 7 8
12:30
##  [1] 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
seq(from=3,to=50,by=2)
##  [1]  3  5  7  9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47
## [24] 49
rep(x=1:5,times=5:1)
##  [1] 1 1 1 1 1 2 2 2 2 3 3 3 4 4 5
rep(x=1:5,each=3)
##  [1] 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5

向量的修改

a <- 1:10
a[2*1:5] <- 2*1:5+1
a
##  [1]  1  3  3  5  5  7  7  9  9 11

下标和逻辑值

# 求一百以内能被7整除的数
seq(from=7,to=100,by=7)
##  [1]  7 14 21 28 35 42 49 56 63 70 77 84 91 98
x <- 1:100
x[x %% 7 == 0]
##  [1]  7 14 21 28 35 42 49 56 63 70 77 84 91 98
# 求一百以内不能被7整除的数
x <- 1:100
x[x %% 7 != 0]
##  [1]   1   2   3   4   5   6   8   9  10  11  12  13  15  16  17  18  19
## [18]  20  22  23  24  25  26  27  29  30  31  32  33  34  36  37  38  39
## [35]  40  41  43  44  45  46  47  48  50  51  52  53  54  55  57  58  59
## [52]  60  61  62  64  65  66  67  68  69  71  72  73  74  75  76  78  79
## [69]  80  81  82  83  85  86  87  88  89  90  92  93  94  95  96  97  99
## [86] 100
# 求一百以内能同时被3和7整除的数
x[x%%3==0 & x%%7==0]
## [1] 21 42 63 84
# 求一百以内能被3或者7整除的数
x[x%%3==0 | x%%7==0]
##  [1]  3  6  7  9 12 14 15 18 21 24 27 28 30 33 35 36 39 42 45 48 49 51 54
## [24] 56 57 60 63 66 69 70 72 75 77 78 81 84 87 90 91 93 96 98 99

矩阵

矩阵的生成

matrix(data=NA,nrow=1,ncol=1,byrow=FALSE,dimnames=NULL)
##      [,1]
## [1,]   NA

练习:
1.生成一个1到20,4行5列,按行排列的矩阵

m1 <- matrix(1:20,nrow=4,byrow=T)

2.把这个矩阵的’前3行&后3列’取出来

m1[1:3,3:5]
##      [,1] [,2] [,3]
## [1,]    3    4    5
## [2,]    8    9   10
## [3,]   13   14   15

3.m1从除去第三行和第三列所生成的矩阵是?

m1[-3,-3]
##      [,1] [,2] [,3] [,4]
## [1,]    1    2    4    5
## [2,]    6    7    9   10
## [3,]   16   17   19   20

矩阵的运算
加,减,转置,两种乘法
合并(按行,按列)
行名和列名

练习:
1.生成一个 5×5 的矩阵,其 i j列的值是 i+j

m4 <- matrix(rep(1:5,each=5),nrow=5,byrow=TRUE)
m5 <- matrix(rep(1:5,each=5),nrow=5)
m4 + m5
##      [,1] [,2] [,3] [,4] [,5]
## [1,]    2    3    4    5    6
## [2,]    3    4    5    6    7
## [3,]    4    5    6    7    8
## [4,]    5    6    7    8    9
## [5,]    6    7    8    9   10

作业02

  1. 生成公元元年到公元1000年中,所有闰年的年份
    (闰年的定义: 能被4整除,且不能被100整除,但能被400整除的除外)

2.生成一个 5×5 的矩阵,其i行j列的值是 i×j+i+j+2

THE END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值