Day 6 数据框

  • 数据框是一种表格式的数据结构,旨在模拟数据集,通常由数据构成的矩形数组,行表示观测,列表示变量。
  • 数据框实际是一种列表,列表中的元素是向量,构成数据框的列,每一列必须有相同的长度,所以数据框是矩形结构,而且数据框的列必须命名。

一、矩阵&数据框

  1. 数据框形状上很像矩阵
  2. 数据框是比较规则的列表
  3. 矩阵必须为同一数据类型,数据框每一列必须为同一类型,每一行可以不同
    e.g. Excel表格

二、数据框的创建

①根据已有数据进行合并
> state <- data.frame(state.abb,state.x77)           👉👉👉 data.frame(   )
②将向量转换为数据框
> data1 <- c(1:20)
> data1
 [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20
> class(data1)
[1] "integer"	
> dim(data1)              						 	 		此时向量没有维度,只有长度
NULL
> length(data1)
[1] 20
	
> dim(data1) <- c(4,5)   						 			赋予向量维度dim(),查看两种方法Ⅰdim()attribute()
> dim(data1)
[1] 4 5
> attributes(data1)
$dim
[1] 4 5

> class(data1)            									此时类型:矩阵
[1] "matrix" "array" 

> patients <- c("Ate",'Bet',"Cat","Doll")
> a <- data.frame(patients,data1)                  			与①相同,data.frame()构建数据框
> a
  patients X1 X2 X3 X4 X5
1      Ate  1  5  9 13 17
2      Bet  2  6 10 14 18
3      Cat  3  7 11 15 19
4     Doll  4  8 12 16 20
> class(a)													此时类型:数据框
[1] "data.frame"

> cnames <- c("patients","age","sex","illness","good")  	定义列名colnames()
> colnames(a) <- cnames
> a
  patients age sex illness good NA
1      Ate   1   5       9   13 17
2      Bet   2   6      10   14 18
3      Cat   3   7      11   15 19
4     Doll   4   8      12   16 20

数据框的索引

> state[1]         由于每一行不一定类型相同,因此默认索引第几列
> state[2,]          加了“,”之后为索引第几行√
> state[c(2,4)]        同样,不要忘记c() →第24> state[,"state.abb"]          也可以用列名来索引  →"   " !!!
> state[state.abb]          ❌❌
Error in `[.data.frame`(state, state.abb) : 选择了未定义的列


两种索引结果对比——逗号,正确应该为第二种?有列的形式?

索引行

> state["state.abb","state.x77"]
NULL
> state["state.abb","state.area"]
[1] NA                           貌似只能索引一个

Dollar 符 $

快速选择行列→绘制散点图😘😘😘
快速选择行列→绘制散点图😘😘😘

Attach 函数

直接引用列数据<(^-^)>
直接引用列数据<(^-^)>

Detach函数

避免不必要的变量重名。使得一切回复到attach之前。

With函数

> with(women,{height})                                      大括号{}→同样不需要用$符 √
 [1] 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
> with(women,{weight})
 [1] 115 117 120 123 126 129 132 135 139 142 146 150 154 159 164
> with(women,{sum(weight)})
[1] 2051

[ ]和[ [ ] ]的区别

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值