-
“L”代表integer
x和X不一样
查看全部 -
赋值号<-
区分大小写
查看全部 -
对象类型总结查看全部
-
第二章内容总结
查看全部 -
<- 是赋值的作用,=也有相同功能,但是容易出错
R语言对大小写敏感,大小写代表的是不同的变量
向量的赋值顺序是从第一列赋值,赋值完成后,对第二列赋值
1:4是指从1到4--1、2、3、4
as.XX指的是将数据强制转换为XX格式,
查看全部 -
#总结数据信息
head(airquality) tail(airquality)head(airquality,10)#看前面十行summary(airquality)#返回了airquality中各个变量的最小值,最大值。。。str(airquality)table(airquality$Month)#使用table函数查看元素的内容,但会忽略缺失值table(airquality$Ozone,useNA = "ifany")#使用table函数查看元素的内容,加入了忽略略的缺失值table(airquality$Month,airquality$Day)any(is.na(airquality$Ozone))#使用函数查看是否具有缺失值sum(is.na(airquality$Ozone))#使用函数查看具有多少缺失值all(airquality$Month<12)#查看月份是否都小于12titanic<-as.data.frame(Titanic)head(titanic)tail(titanic)dim(titanic)summary(titanic)xtabs(Freq~Class+Age,data = titanic)#查看Class与Age交叉部分的数据x<-xtabs(Freq~Class+Age,data = titanic)#查看Class与Age交叉部分的数据ftable(x)#得到和上一条命令相同的内容,但是数据的排版变得更加扁平化了object.size(airquality)#查看数据的大小print(object.size(airquality),units = "Kb")#使用Kb为单位查看数据的大小
查看全部 -
#排序
x<-data.frame(v1=1:5,v2=c(10,7,9,6,8),v3=11:15,v4=c(1,1,2,2,1)) x sort(x$v2,decreasing = TRUE)#对数据框v2进行降序排列 sort(x$v3)#对数据框v3进行升序排列 order(x$v2)#返回的不是内容本身,而是内容对应的下标排序 x[order(x$v2),]#行顺序按照order方式排列 x[order(x$v4,x$v3),]#先排序v4,再排序v3,v4的排序结果更强 x[order(x$v4,x$v3,decreasing = TRUE),]#先排序v4,再排序v3,v4的排序结果更强
查看全部 -
#split函数
#根据因子或因子列表将向量或其它对分组 #与lapply联用 x <- c(rnorm(5), runif(5),rnorm(5,1)) f<-gl(3,5) split(x,f)#f因子中的水平1,2,3 lapply(split(x,f),mean)#对列表中得每一个元素求平均值 s<-split(airquality,airquality$Month)#$符号代表选择Month table(airquality$Month) lapply(s,function(x)colMeans(x[,c("Ozone","Wind","Temp")]))#s其实是一个数据框;计算平均值时,未将缺失值排除,故得出一些缺失值结果 sapply(s,function(x)colMeans(x[,c("Ozone","Wind","Temp")],na.rm = TRUE))#使用na.rm=TRUE排除缺失值并求平均值,sapply对lapply结果进行了化简
查看全部 -
#tapply函数的应用 #对向量的子集进行操作 x<-c(rnorm(5),runif(5),rnorm(5,1))#第三个为均值为1,方差为0的正态分布 f<-gl(3,5)# tapply(x,f,mean) tapply(x,f,mean,simplify=FALSE) #存在许多不懂得东西
查看全部 -
#Mapply
#lapply的多元版本 #mapply(函数/函数名,数据,函数相关的参数) list(rep(1,4),rep(2,3),rep(3,2),rep(4,1)) mapply(rep,1:4,4:1) s<-function(n,mean,std){rnorm(n,mean,std)}#写出自己的函数 s#运行上述定义的函数,必要 s(4,0,1)#使用具体数字 mapply(s, 1:5,5:1,2)#对应关系为后三个元素依次与s()中的三个元素一一对应
查看全部 -
#apply的使用
#apply,沿着数组的某一个维度处理数据 x<-matrix(1:16,4,4) apply(x,2,mean)#求列的平均 apply(x,2,sum)#求列的和 rowSums(x)#同样可以求行的和 rowMeans(x) colSums(x) colMeans(x) x<-matrix(rnorm(100),10,10) apply(x,1,quantile,probs=c(0.25,0.75))#quantile求数据的百分位点 x<-array(rnorm(2*3*4),c(2,3,4)) apply(x,c(1,2),mean)#以第1及第2维为基础,沿第3方向压成平面 apply(x,c(1,3),mean) apply(x,c(2,3),mean)
查看全部 -
#lapply的应用 x<-list(a=1:10,b=c(11,21,31,41,51)) lapply(x,mean)#将返回一个列表,内容为列表x中单个元素的平均值(函数起到循环作用) x<-1:4 lapply(x,runif)#从均匀分布的总体中抽取若干个数出来 lapply(x,runif,min=0,max=100)#runif的默认区间为0-1;设定了min和max,更改了runif的区间为1-100 x<-list(a=matrix(1:6,2,3),b=matrix(4:7,2,2)) lapply(x,function(m)m[1,])#取出矩阵x中两个元素中第一行的元素 #sapply x<-list(a=1:10,b=c(11,21,31,41,51)) lapply(x,mean) sapply(x,mean)#简化lapply的数据,也起循环的作用 class(lapply(x,mean))#返回列表 class(sapply(x,mean))#返回数值 #sapply:简化结果 结果列表元素长度均为1,返回向量; 长度相同且大于1,返回矩阵。
查看全部 -
#向量化操作
#可作用于矩阵及向量 x<-1:5 y<-6:10 x+y#两个向量对应元素相加 x*y#两个向量对应元素相乘 x/y#两个向量对应元素相除 x<-matrix(1:4,2,2) y<-matrix(rep(2,4),2,2)#rep()函数是值将第一个元素重复第二个元素次数,将2重复4次 x+y#矩阵对应元素相加 x*y#矩阵对应元素相乘 x/y#矩阵对应元素相除 #真正的矩阵乘法 x%*%y#矩阵相乘
查看全部 -
#如何处理缺失值
x<-c(1,NA,2,NA,3) is.na(x) x[!is.na(x)]#提取出无缺失值的数据,“!”代表取反 x<-c(1,NA,2,NA,3) y<-c("a","b",NA,"c",NA) z<-complete.cases(x,y)#查看x和y的对应位置中均不存在缺失值的部分(以逻辑向量形式表示) x[z]#取出x中对应的非缺失值 y[z]#取出y中对应的非缺失值 library(datasets) head(airquality)#查看数据集中的前面部分 g<-complete.cases(airquality) airquality[g,][1:10,]
查看全部 -
#取出列表中某一个元素
x<-list(id=1:4,heigh=170,gender="male") x[1] x["id"]#两个函数作用相同
#取出列表中某一个元素的内容
x<-list(id=1:4,heigh=170,gender="male") x[[1]] x[["id"]] x$id#三个函数作用相同
#同时取出列表中多个元素
x<-list(id=1:4,heigh=170,gender="male") x[c(1,3)]
#列表的不完全匹配
x<-list(a=list(2,3,4,5),b=c("Monday","Tuesday")) x x[[1]][[2]]#第1个元素中的第2个元素,嵌套的两个方括号 x[[2]] x[[1]][2] x[[c(1,3)]]#取出列表中第1个元素中的第3个元素 x[[c(2,2)]]#取出列表中第2个元素中的第2个元素 l<-list(asdfghj = 1:10) l$asdfghj l$a#与上一个命令得出相同结论,称之为列表的不完全匹配 l[["asdfghj"]]#取出名为asdfghj的元素,要打双引号 l[["a"]]#得出的结果为空 l[["a",exact=FALSE]]#第二个命令为关闭了精准匹配以进行不完全匹配 rm(x) x<-list(asdfghj = 1:10,b=c("a","s","d"),aaa=2:11) x$a#出现两个元素前部分相同时,R将不能识别 x[["a",exact=FALSE]]#出现两个元素前部分相同时,R将不能识别 x$aa#能识别了
查看全部
举报
0/150
提交
取消