一、数据类型:
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:
代码语言:javascript复制>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() 有点像把前后两个东西粘到一起
代码语言:javascript复制>paste0(rep("x",times=3),1:3)
[1] "x1" "x2" "x3"
ps:paste 和 paste0的区别:组合字符时,paste有空格,paste0没有空格
代码语言:javascript复制>paste(rep("x",times=3),1:3)
[1] "x 1" "x 2" "x 3"
paste默认的分割符是空格sep=" "
可以改成其他任意其他, eg: sep="*"
代码语言:javascript复制paste(rep("x",times=3),1:3,sep = "*")
[1] "x*1" "x*2" "x*3"