北京治疗白癜风的医院哪个好 http://wapyyk.39.net/bj/zhuanke/89ac7.htmlnchar函数计算字符串长度
nchar("hello")[1]5length("hello")#对比两者的区别[1]1
获得向量长度length
length(c(2,4,5))[1]3
大小写转换
toupper("hELlo")[1]"HELLO"tolower("hELlo")[1]"hello"
paste函数,用于字符串连接
paste("hello","world",sep="")[1]"helloworld"paste0("ID",1:5)[1]"ID1""ID2""ID3""ID4""ID5
判断是否为某类型的数据,返回TRUE或FALSE
a-c("hello")is.numeric(a)[1]FALSEis.character(a)[1]TRUEis.logical(a)[1]FALSE
将数值转化为字符串
a-1as.character(a)[1]"1"
将字符串转化为数值,不能识别的则输出NA缺失值形式
as.numeric(c("-.1","2.7","B"))[1]-0.12.7NA
向量循环补齐功能
1:10+1:2#1,2被循环使用[1]21:10+1:3#当不成倍数时,也出结果,但是会提示不成倍数[1]1Warningmessage:In1:10+1:3:长的对象长度不是短的对象长度的整倍数
向量排序sort函数与rank函数,
sort(c(2,3,4,5,6),decreasing=FALSE)[1]sort(c(2,3,4,5,6),decreasing=T)[1]age-c(11,29,40,38)rank(age)#观察结果,rank也是排序,但是与sort不同,是按照从小到大排列之后数据所处的位置[1]age[rank(age)]#age[]根据位置信息找对应位置的数据[1]
从一组元素中找出满足某些条件的元素
如,从p-c(0.01,0.,0.54,0.69),找出其中p0.05的,多种办法
p-c(0.01,0.,0.54,0.69)p0.05[1]TRUETRUEFALSEFALSEp[p0.05]#对比下与p0.05输出结果的区别[1]0..#当使用逻辑取值时,向量会保留TRUE对应位置的元素p[which(p0.05)]#which(p0.05)先来找对应的位置,p[]通过位置找元素[1]0..subset(p,p0.05)#subset也可取子集,实现向量的筛选[1]0..03
grep函数抓住你想要在元素里获得的对象,返回位置
name-c("na","wang","li")grep("a",name)#抓取名字中包含a的,并返回位置[1]12grepl("a",name)#grepl返回逻辑值[1]TRUETRUEFALSEname-c("na3","wang3","li2")#找出包含3的grep(3,name,value=T)#value=T输出元素本身,[1]"na3""wang3"grep(3,name,value=F)#value=F输出元素位置[1]12grep(3,name,invert=T)#invert=T输出不包含3的元素位置[1]3
逻辑判断中TRUE相对于1,FALSE相对于0,其背后是数值,不是字符
TRUE==1#==用于判断是否相等[1]TRUEFALSE==1[1]FALSEFALSE==0[1]TRUEas.numeric(TRUE)[1]1as.numeric(FALSE)[1]0
age-38age18[1]FALSEage18[1]TRU
NA缺失值,不进入运算;而NULL空白值,当作不存在
x-c(1,2,3,NA)mean(x)[1]NAsum(x)[1]NAmean(x,na.rm=TRUE)#可通过na.rm去掉缺失值,remove的缩写[1]2y-c(1,2,3,NULL)mean(y)[1]2sum(y)[1]6length(y)[1]3
参考文献:
月下梭罗
预览时标签不可点收录于话题#个上一篇下一篇