今天来聊聊数据类型与向量20230130

一、数据类型:

1)数值型:numeric eg:2/4/8

2)字符型:character eg:“yellow” “blue” “67” 带引号的

3)逻辑型:TRUE/ FALSE/ NA 严格区分大小写

ps:

1)判断数据类型:class()——直接输出类型;is.numeric/logical/character() 会返回逻辑值T or F。

2)改变数据类型:as.numeric()/as.logical ()/as.character()

二、逻辑型数据(通过比较运算返回)

1)== 等于 eg: 4==5 F

2)!= 不等于 eg:4!=5 T

3)& and的意思,并列的条件都要满足 4==5 & 2>1 F

4)| or的意思,满足其中一项. 4==5|2>1 T

三、数据结构

1)向量:基本构成,一个向量只属于一个类型

2)数据框:格式类似于表格,但每一列的数据类型相同

3)矩阵:matrix()

eg:

>matrix(1:15,3,5)
  [,1] [,2] [,3] [,4] [,5]
[1,]    1    4    7   10   13
[2,]    2    5    8   11   14
[3,]    3    6    9   12   15

>matrix(c("d1","d2","d3",2,4,6),2,3)
    [,1] [,2] [,3]
[1,] "d1" "d3" "4" 
[2,] "d2" "2"  "6" 

>matrix(c("d1","d2","d3",2,4,6),2,3,byrow = T)
     [,1] [,2] [,3]
[1,] "d1" "d2" "d3"
[2,] "2"  "4"  "6"
#注意数字排列顺序,byrow=T可以先按行顺序排列,默认是按列

4)列表

四、小技巧——解决脚本乱码

file——reopen with encoding——UTF-8——ok

五、向量的生成

1)合集: c() 可以包含数值型,字符型和逻辑型

2)连续数字:使用 “:”,1:20是1到20的连续数字

3)重复:rep(对象,times=重复次数)

4)规律数列:seq(from= ,to= , by=)

5)随机数:rnorm(n=产生随机数的个数) 符合正态分布

6)组合:paste0() 有点像把前后两个东西粘到一起

>paste0(rep("x",times=3),1:3)
[1] "x1" "x2" "x3"

ps:paste 和 paste0的区别:组合字符时,paste有空格,paste0没有空格

>paste(rep("x",times=3),1:3)
[1] "x 1" "x 2" "x 3"

paste默认的分割符是空格sep=” “

可以改成其他任意其他, eg: sep=”*”

paste(rep("x",times=3),1:3,sep = "*")
[1] "x*1" "x*2" "x*3"

正文完