本文共 1597 字,大约阅读时间需要 5 分钟。
1、向量
有序 向量的元素有对应的位置 下标从1开始元素类型统一常用的数值、字符,逻辑值num1<-c() 函数把元素变成数值或者列表num2<-1:10 字符型向量创建char<-c('a','b',"c") 字符型需要加引号 单引号或者双引号都可以创建逻辑向量logit<-c(TRUE,FALSE,T,F) 逻辑中只能是TRUE 或者FALSE 可以用T,F代替包含多种类型的向量c(1,'a',TRUE) 会转换为字符类型因子向量sex<-c(''F,'M','F','M')factor()函数 转换因子向量sexf<-factor(sex)#向量索引#下标和方括号组合
#不能单用 必须跟在其它向量的后面 索引具体的值可以是整数向量 逻辑向量 字符串向量num1[1] #第一个位置num1[c(1,3)]#可以是向量 查看第一个和第三个num1[c(T,F,T)] #逻辑索引 查看第一个和第三个 T代表查看num1[-2] #负数表示不想查看的第二个位置#字符型的向量 需要对访问的值进行命名num3<-c('first'=9.1,'second'=8.2,'third'=7.3)num3[c('first','third')]a<-20:30 #取其中的偶数a%%2a%%2==0 #%%取余 ==恒等于 #返回的是逻辑向量a[a%%2==0] #根据逻辑向量 去其中的偶数num1[1]num1[1]<-100 #对元素进行修改num1num1[c(1,3)]<-c(99.9,77.7)num1class()#查看变量的类型class(num1) 数值class(char) 字符class(logit) 逻辑class(sexf) 因子#2.类的检查和转换
is.character(num1) #查看是否为字符型的as.character(num1)#转换为字符类型 没有真正转换 只是显示num1<-as.character(num1)class(num1)is.character(char)is.character(logit)as.character(logit)is.numeric() #查看是否为数值型as.numeric()#转换为数值型is.logical()#是否为逻辑型as.logical()#转换为逻辑型as.logical(c(0,1,2)) #0之外的数转为TRUE 0转换为FALSE#特殊的值
NA #缺失NaN #无意义的数Inf #正无穷-Inf#负无穷NULL #参数没有赋值b<-c(NA,0/1,sqrt(-1),1/0,-1/0)bis.na(b)#是否存在缺失值 TRUE表示存在 NA NaN 都记录为缺失值is.finite()#是否有限的数is.infinite()#是否无穷的数知识点
练习
1、 操作题:生成向量 a,a 的元素是 1 到 100 的整数2、 操作题:把向量 a 的第一个元素修改成 03、 操作题:删除向量 a 的前 20 个元素4、 操作题:生成向量 b,b 的元素是 1 到 100 之内的奇数5、 操作题:生成向量 d,向量 d 的元素有 1,'abc'6、 操作题:查看向量 d 的数据类型答案
1.a<-c(1:100)a2.a[1]a[1]<-0a3.a<-c(20:100)a4.b<-c(1:100)b%%2b%%2==1b[c(b%%2==1)]class(b)5.d<-c(1,'abc')d6.class(d)转载于:https://blog.51cto.com/13492528/2410747