#---r中向量相关的操作 #----数字型向量 #赋值 x<-c(1,2,3) assign("x",c(1,2,3)) y<-c(x,2,x) # > y # [1] 1 2 3 2 1 2 3 #向量的运算 x<-c(1,2,3);y<-c(2,3,4) v1<-2*x+x*y+1 # > v1 # [1] 5 11 19 v2<-2*x+x*y+c(1,1,1) v1==v2 # > v1==v2 两者效果相同,自己体会 # [1] TRUE TRUE TRUE x^2 # > x^2 # [1] 1 4 9 #函数运算,比如log,sqrt,sin等 x<-c(1,2,3) sqrt(x) # > sqrt(x) # [1] 1.000000 1.414214 1.732051 #与向量相关的其他函数min、max、range、which.min、which.max、sum、prod、length、sort、mean、var x<-c(3,2,1) # > min(x) # [1] 1 # > max(x) # [1] 3 # > which.max(x) # [1] 1 # > which.min(x) # [1] 3 # > sum(x) # [1] 6 # > prod(x) # [1] 6 # > length(x) # [1] 3 # > sort(x) # [1] 1 2 3 # > mean(x) # [1] 2 # > var(x) # [1] 1 #等差数列一般采用a:b的形式 # > 1:15 代表从1到15的数列,每次加1 # [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 # > 1:4.5 a为整数,b为实数,表示a到b的整数部分,每次加1 # [1] 1 2 3 4 # > 1.5:5 a为实数,b为整数,表示从a开始累加到b,每次加1 # [1] 1.5 2.5 3.5 4.5 # > 2*(1:5) # [1] 2 4 6 8 10 # > 2*1:5 向量优先级大于运算符号 # [1] 2 4 6 8 10 # > 1:5-1 # [1] 0 1 2 3 4 #重复函数 rep(x,times=) x<-c(1,2,3) s<-rep(x,times=2) # > s # [1] 1 2 3 1 2 3 #逻辑向量,在向量赋值处使用逻辑表达式 x<-c(1,2,3,4,5) l<-x>3 # > l # [1] FALSE FALSE FALSE TRUE TRUE #其它的逻辑向量运算还有< <= == !=等 #all和any用于返回向量中的值是否全部大于3的逻辑值,any返回向量x中是否有值大于3 all(x>3) any(x>3) #逻辑向量的赋值,可以使用F和T对false和true进行简写 l<-c(TRUE,FALSE,F,T) #向量中的缺失数据、赋值、检查 z<-c(-1,1:3,NA) z # [1] -1 1 2 3 NA is.na(z) z[is.na(z)]<-0 # > z # [1] -1 1 2 3 0 #结合z的下标进行复杂运算 z # [1] -1 1 2 3 0 #结合z的下标进行复杂运算 (z+1)[!is.na(z)&z>0] # [1] 2 3 4 #-----字符型向量 #涉及赋值、paste连接 X<-c("My","Job") paste("My","Job") #表示将两个字符链接,默认使用空格进行分隔开 # [1] "My Job" paste("X",1:6,sep = "") # [1] "X1" "X2" "X3" "X4" "X5" "X6" #可以使用定义下标值的方法来定义分段函数 #比如分段函数 y=1-x x<0 y=1+x x>=0 y[x<0]<-1-x[x<0] y[x>=0]<-1+x[x>=0] #下标的正整数运算 v<-10:20 v[c(1,2,3,4)] c("a","b","c")[rep(c(2,1,3),times=3)] #下标的负整数运算 v[-(1:5)] #表示去除代号为哪些的值 #取字符向量的某些下标值 #在定义向量的时候可以加上列名 ages<-c(Li=23,chen=30) #向量名称可以后加 ages=c(23,40,50) names(ages)<-c("li","chen","zhang") ages # > ages # li chen zhang # 23 40 50
R语言中的向量使用合集
猜你喜欢
转载自blog.csdn.net/glodon_mr_chen/article/details/79882812
今日推荐
周排行