R数组、列表、数据框、因子

基础知识

1.数组

> A <- array(1:24,c(3,4,2)) #生成一个3 x 4 x 2的数组
> A
, , 1

     [,1] [,2] [,3] [,4]
[1,]    1    4    7   10
[2,]    2    5    8   11
[3,]    3    6    9   12

, , 2

     [,1] [,2] [,3] [,4]
[1,]   13   16   19   22
[2,]   14   17   20   23
[3,]   15   18   21   24

> A[2,2,2] #数组索引和矩阵、向量类似
[1] 17
> 
> dim(A) #获取维数
[1] 3 4 2
> dim(A) = 24 #改变数组的维度  变为向量
> A
 [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19
[20] 20 21 22 23 24
>
> dim(A) = c(4,6) #改变数组维度 变为 4 x 6 矩阵
> A
     [,1] [,2] [,3] [,4] [,5] [,6]
[1,]    1    5    9   13   17   21
[2,]    2    6   10   14   18   22
[3,]    3    7   11   15   19   23
[4,]    4    8   12   16   20   24
> 

2.列表

> list1 = list(name='R Programming',action='learn',content='list')
> list1
$name
[1] "R Programming"

$action
[1] "learn"

$content
[1] "list"

> list1[1] #获取列表第一项内容
$name
[1] "R Programming"

> list1['action'] #获取列表里'action'项对应的内容 注意加引号
$action
[1] "learn"

> list1$content #获取列表里content属性的内容
[1] "list"
> 
> length(list1) #获取列表属性个数
[1] 3
> mode(list1) #获取数据类型
[1] "list"
> names(list1) #获取列表的属性
[1] "name"    "action"  "content"
> 

3.数据框

> #学号
> number <- paste(2017,3098:3118,sep="")
> #数学分析成绩
> x1 <- round(runif(21,min=45,max=97))
> #高等代数成绩
> x2 <- round(rnorm(21,mean=75,sd=10))
> x2[which(x2>100)] <- 100
> #解析几何成绩
> x3 <- round(rnorm(21,mean=84,sd=10))
> x3[which(x3>100)] <- 100
> #考试成绩数据框
> data <- data.frame(number,x1,x2,x3) #组合数据框
> data
     number x1 x2  x3
1  20173098 85 76  76
2  20173099 71 70  86
3  20173100 62 89 100
4  20173101 84 73  76
5  20173102 75 97 100
6  20173103 92 86  83
7  20173104 91 70  80
8  20173105 76 79  89
9  20173106 54 62  93
10 20173107 60 72  81
11 20173108 48 79  79
12 20173109 75 91  66
13 20173110 66 83  93
14 20173111 60 74 100
15 20173112 64 73 100
16 20173113 83 64  90
17 20173114 64 70  85
18 20173115 62 75  85
19 20173116 68 86  81
20 20173117 84 84  81
21 20173118 90 76 100

4.因子

> x <- c('Female','Male','Male','Female','Female')
> 
> x
[1] "Female" "Male"   "Male"   "Female" "Female"
>
> f =factor(x) #将x按因子水平分类
> f
[1] Female Male   Male   Female Female
Levels: Female Male
> 
> levels(f)  #获取f的因子水平
[1] "Female" "Male"  
> 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值