zl程序教程

您现在的位置是:首页 >  其他

当前栏目

R语言向量操作 20230201

2023-02-26 09:50:29 时间

一、单个向量进行的操作

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=" ")

⚠️注意:当两个向量的长度不一样会都会自动循环补齐

> 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) 不同

> 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中都存在吗

> 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)改一个元素:现将要修改的元素通过位置取出来,赋值给另一个元素

>x<-c(4,7,6,3)
>x[3]<-9
> x
[1] 4 7 9 3

2)改多个元素

> x<-c(4,7,6,3)
> x[c(2,4)]<-c(12,67)
> x
[1]  4 12  6 67