-
#split x <- c(rnorm(5),runif(5),rnorm(5,1)) f <- gl(3,5) #建立一个因子 split(x,f) #分组 groupBy lapply(split(x,f),mean) #分组求平均值 s <- split(airquality,airquality$Month) table(airquality$Month) lapply(s, function(x) colMeans(x[,c("Ozone","Wind","Temp")],na.rm=TRUE)) sapply(s, function(x) colMeans(x[,c("Ozone","Wind","Temp")],na.rm=TRUE))查看全部
-
#tapply rnorm(5) #正态分布中取5个数 runif(5) #均匀分布中取5个数 rnorm(5,1) #均值为1标准差为0的正态分布 x <- c(rnorm(5),runif(5),rnorm(5,1)) f <- gl(3,5) #建立一个因子 tapply(x,f,mean) #按照因子的水平分组,每组求均值查看全部
-
每列数据可以独立出来的意思?查看全部
-
不能比较大小——无序 可以比较——有序查看全部
-
默认的排列顺序,先行再列再其他查看全部
-
向量只能一行,矩阵只能二维,有行有列,数组可以多维查看全部
-
#mapply 循环 相当于多次运行这个函数 #rep(1,4) : 1 1 1 1 list(rep(1,4),rep(2,3),rep(3,2),rep(4,1)) mapply(rep,1:4,4:1) s <- function(n,mean,std){ #在均值为mean标准差为std中抽取n个数 rnorm(n,mean,std) } s(4,0,1) mapply(s,1:5,5:1,2)查看全部
-
#apply x <- matrix(1:16,4,4) apply(x,2,mean) rowSums(x) rowMeans(x) colSums(x) colMeans(x) #rnorm : 随机从正态分布中抽取一百个数据 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 str(lapply) #用整洁的形式显示R对象 x <- list(a=1:10,b=c(11,21,31,41,51)) lapply(x,mean) x <- 1:4 #runif:从均匀分布的整体抽若干个数出来 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 简化结果 x <- list(a=1:10,b=c(11,21,31,41,51)) sapply(x,mean)查看全部
-
# Vectorized 向量化操作 x <- 1:5 y <- 6:10 x*y查看全部
-
#missing value x <- c(1,NA,2,NA,3) x[!is.na(x)] #获取不为缺失值的元素 y <- c("a","b",NA,"C",NA) z <- complete.cases(x,y) x[z] y[z] #使用R的数据集 library(datasets) head(airquality) #查看数据集的开头 g <- complete.cases(airquality) airquality[g,][1:10,] #去除数据集中有缺失值的行查看全部
-
# subsetting List x <- list(id=1:4,height=170,gender="male") x[1] #名字和内容 x[[1]] #内容 x[["id"]] x$id # $只能引用名字不能引用变量 x[c(1,3)] # subsetting nested element of a List X <- list(a = list(1,2,3,4),b = c("Monday","Tuesday")) X[[1]][[2]] #子列表中的内容 X[[1]][2] #子列表中的元素 X[[c(1,2)]] #partial matching 不完全匹配 l <- list(asdfghj=1:10) l[["a",exact=FALSE]]查看全部
-
#matix x <- matrix(1:6,nrow=2,ncol=3) x[1,3] #获取某个元素 x[1,] #获取某行数据 x[2,c(1,3)] #获取某行的后几个数据 class(x[1,2]) #返回为一个向量 x[1,2,drop = FALSE] #返回为矩阵查看全部
-
#subsetting x <- 1:10 x[1] #向量的下标从1开始 x[1:5] x[x>5 & x<7] x > 5 # 输出为布尔值 y <- 1:4 names(y) <- c("a","b","c","d") y["b"]查看全部
-
R语言数据结构小结查看全部
举报
0/150
提交
取消