-
排序函数查看全部
-
tapply查看全部
-
mapply查看全部
-
#总结数据信息 head(airquality, 100)#查看前100行 tail(airquality, 100)#查看后100行 summary(airquality)#总结,数据分布整体把握 str(airquality) table(airquality$Month)#对列进行频数统计 table(airquality$Ozone, useNA = "ifany")#将Ozone中NA的数值统计出来 any(is.na(airquality$Ozone))#判断是否有缺失值 sum(is.na(airquality$Ozone))#统计缺失值数量 all(airquality$Month < 12) t <- as.data.frame(Titanic) x <- xtabs(Freq ~ Class + Age, data = t) ftable(x) object.size(airquality) prin查看全部
-
#对数据进行排序 #sort返回排好序的内容 #order返回下标 x <- data.frame(v1=1:5, v2=c(10,7,9,6,8), v3=11:15, v4=c(1,1,2,2,1)) sort(x$v2) sort(x$v2,decreasing = T) order(x$v2)#返回的不是内容本身,是内容的下标 x[order(x$v2),]#对x针对v2进行排序 x[order(x$v4, x$v2, decreasing = T), ]查看全部
-
#tapply #对向量的子集进行操作 x <- c(rnorm(5), runif(5),rnorm(5,1)) f <- gl(3,5) tapply(x,f,mean) tapply(x,f,mean, simplify = F) #split x <- c(rnorm(5), runif(5),rnorm(5,1)) f <- gl(3,5) split(x,f) lapply(split(x,f), mean) s <- split(airquality,airquality$Month) table(airquality$Month) lapply(s, function(x) colMeans(x[,c("Ozone","Wind","Temp")])) sapply(s, function(x) colMeans(x[,c("Ozone","Wind","Temp")])) sapply(s, function(x) colMeans(x[,c("Ozone","Wind","Temp")],na.rm = T))查看全部
-
#tapply #对向量的子集进行操作 x <- c(rnorm(5), runif(5),rnorm(5,1)) f <- gl(3,5) tapply(x,f,mean) tapply(x,f,mean, simplify = F)查看全部
-
#mapply #lapply的多元版本 #lapply(函数/函数名,数据, 函数) list(rep(1,4), rep(2,3), rep(3,2),rep(4,1)) mapply(rep,1:4,4:1)#等价于上面的list s <- function(n, mean ,std){ rnorm(n, mean, std) }查看全部
-
#apply #沿着数组的某一维度处理数据 #将函数用于矩阵的行或者列 #一句话就可以完成for/while函数 #apply(数组,维度,函数/函数名) x <- matrix(1:16,4,4) apply(x, 2, mean)#求列的平均 apply(x, 2, sum)#求列和 apply(x, 1, mean)#求行的平均 apply(x, 1, sum)#求行和 x <- matrix(rnorm(100),10,10) apply(x, 1, quantile, probs = c(0.25, 0.75)) x <- array(rnorm(2*3*4),c(2,3,4)) apply(x,c(1,2), mean)查看全部
-
#lapply函数 #可以循环处理列表中的每一个元素 #lapply(列表,函数/函数名,其他参数) str(lapply) x <- list(a = 1:10, b = c(11,21,31,41,51)) lapply(x,mean) x <- 1:4 lapply(x, runif) lapply(x, runif, min = 0, max = 100) x <- list(a = matrix(1:6,2,3), b = matrix(4:7),2,2) lapply(x, function(m) m[1,]) #sapply #简化结果 #结果列表长度均为1,返回向量 #结果列表元素相同且大于1,返回矩阵 sapply(x,mean)查看全部
-
#向量化操作 x <- 1:5 y <- 6:10 x+y x*y x/y x <- matrix(1:4, nrow = 2, ncol = 2, byrow = T) y <- matrix(rep(2,4), nrow = 2, ncol = 2) x %*% y#矩阵真正乘/除法需要如此。 x * y #只是对应元素相乘查看全部
-
apply查看全部
-
#missing value 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] y[z] library(datasets) head(airquality) g <- complete.cases(airquality) airquality[g,][1:10,]查看全部
-
lapply查看全部
-
lapply --可以循环处理列表中的每一个元素 --lappy(参数):lappy(列表,函数/函数名,其他参数) --总是返回一个列表 x<-list(a=1:10,b=c(11,21,31,41,51)) lapply(x, mean)#平均值 sapply(x,mean) x1<-1:4 lapply(x1,runif)#runif() 产生均匀分布的随机数 lapply(x1,runif,min=0,max=100) x2<-list(a=matrix(1:6,2,3),b=matrix(4:7,2,2)) lapply(x2, function(m)m[1,])#获取第一行内容查看全部
举报
0/150
提交
取消