数据转换的优先顺序:数值型可以向字符型转换,逻辑型能向数值型、字符型转换
向量:一个向量只能有一种数据类型
生成
用 c() 结合到一起
连续的数字用冒号“:”
有重复的用rep(),有规律的序列用seq(),随机数用rnorm()
通过组合,产生更为复杂的向量
单个向量进行操作
赋值 x <- c(1,2,3) ,=
计算
简单计算: 对向量内每个元素直接计算 x 1
比较运算,对向量内每个元素生成逻辑向量 x>1
统计
length:统计向量长度或向量中元素个数 length(x)
unique:去重复:从左至右第二次和多次出现的元素被去掉 unique(x)
duplicated:判断是否为重复,输出为逻辑值 duplicated(x)
table:重复值统计 table(x)
sort: 排序,默认从小到大 sort(x)
两个向量运算
等位向量运算
比较运算:生成等长的逻辑值 x == y
数学计算:元素之间直接相加 x y
连接:paste(x,y, sep=",") sep参数默认值为空格
paste与paste0的区别:paste0没有sep参数不能指定分隔符
paste(x,y, sep=" ")=paste0
长度不相等的两个向量进行等位运算,会发生循环补齐(简化代码)
交集且自动去重复:intersect,
合计且自动去重复:union
差集:setdiff
x %in% y #查询:x的每个元素在y中是否存在
x == y #x和对应位置的y相等吗?
向量筛选(取子集):[]
根据逻辑值:[]里面是与x等长且一一对应的逻辑值向量,将TRUE对应的值挑选出来,FALSE丢弃。 xx == 10
根据位置: []里面是由x的下标组成的向量。x4,x2:4
修改向量中某个/某些元素:赋值,没有赋值就没有修改
简单作图:plot(x) 横坐标为小标位置参数,纵坐标为元素的值
向量
赋值<- =
计算
简单计算: 对向量内每个元素直接计算
比较运算,对向量内每个元素生成逻辑向量
参数省略的原则:默认位置的参数才能省略
sep()中each与times的区别:
each:一个一个重复,且每个重复次数一等
times:一轮(一批)重复,重复次数可以不相等