一、单个向量进行的操作
1)赋值:
x<-c() #规范的赋值符号,
x=c() # 随意的赋值符号
ps:⚠️注意事项: 不能使用函数名称/不能以数字开头/不能使用空格,“-”等特殊符号/最好不使用中文名称/可以使用“_”或者“.”
2)数学计算
x 1
log(x)
sqrt(x) #求方差
3)逻辑计算
4)初级统计
max() #最大值
min() #最小值
mean() #平均值
median() #中位数
var() #方差
sd() #标准差
sum() #总和
length() #长度,即元素的个数
unique() #去重复
duplicate() #查看是否重复,返回TRUE或FALSE
table() #计算重复值个数
sort() #排序,默认升序,降序 decreasing=T
二、对两个向量的操作
1)比较运算,返回逻辑值
2)数学计算
3)连接:paste(x,y,sep=" ")
⚠️注意:当两个向量的长度不一样会都会自动循环补齐
代码语言:javascript复制> x<-c(1,3,5,6,2);y<-c(3,2,5)
> x==y
[1] FALSE FALSE TRUE FALSE TRUE
#y会循环补齐与x进行比较
4)交集、并集、差集
intersect(x,y) #交集
union(x,y) #并集
setdiff(x,y) #差集
⚠️:setdiff(x,y) 和setdiff(y,x) 不同
代码语言:javascript复制> x<-c(1,3,5,1)
> y<-c(3,2,5,6)
> setdiff(x,y)
[1] 1
> setdiff(y,x)
[1] 2 6
‼️重点:%in%
> x %in% y #x的元素在y中都存在吗
> y %in% x #y的元素在x中都存在吗
代码语言:javascript复制> x<-c(1,3,5,1)
> y<-c(3,2,5,6)
> x %in% y
[1] FALSE TRUE TRUE FALSE
> y %in% x
[1] TRUE FALSE TRUE FALSE
> x[x %in% y]
[1] 3 5
#可以取出x、y重复的值
ps:区分x==y,x %in% y
x==y #位置需要完全对应
x %in% y #看看元素在不在,无所谓位置
三、向量取子集
1)根据逻辑值
2)根据位置
四、向量修改
1)改一个元素:现将要修改的元素通过位置取出来,赋值给另一个元素
代码语言:javascript复制>x<-c(4,7,6,3)
>x[3]<-9
> x
[1] 4 7 9 3
2)改多个元素
代码语言:javascript复制> x<-c(4,7,6,3)
> x[c(2,4)]<-c(12,67)
> x
[1] 4 12 6 67