为了账号安全,请及时绑定邮箱和手机立即绑定

R语言基础

  • split #根据因子或者因子列表将向量或其他对象分组 #通常与lapply一起使用 #参数格式:split(向量/列表/数据框,因子/因子列表) x <- c(rnorm(5), runif(5),rnorm(5,1)) f <- gl(3,5) split(x,f) lapply(split(x,f), mean) lapply(split(x,f), sum) head(airquality) split(airquality,airquality$Month)#按照month分组查看 s <- split(airquality,airquality$Month) table(airquality$Month)#查看每个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))#处理缺失值
    查看全部
    2 采集 收起 来源:R语言函数 split

    2018-03-22

  • #tapply #对向量的子集进行操作 tapply(向量,因子/因子列表,函数/函数名) x <- c(rnorm(5), runif(5),rnorm(5,1)) f <- gl(3,5) tapply(x,f,mean) tapply(x,f,mean, simplify = FALSE)
    查看全部
  • #lapply的多元版本 #mapply(参数) #mapply(函数/函数名,数据, 函数相关的参数) a<-list(rep(1,4), rep(2,3), rep(3,2),rep(4,1)) b<-mapply(rep,1:4,4:1)#等价于上面的list s <- function(n, mean ,std){ rnorm(n, mean, std) } s(4,0,1) #调用函数s,生成1到5四个元素,其中均值是5到1,标准差是2 mapply(s, 1:5,5:1,2) list(s(1,5,2),s(2,4,2),s(3,3,2),s(4,2,2),s(5,1,2))#这个list的效果跟mapply函数一样
    查看全部
  • 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)
    查看全部
    1 采集 收起 来源:R语言函数 apply

    2018-03-22

  • lapply 可以循环处理列表中每一个元素 lapply(参数):lapply(列表,函数/函数名,其他参数) 结果总是返回一个列表 str(lapply) eg: x<-list(a=1:10,b=c(11,21,31,41,51)) lapply(x,mean)#求平均 x<-1:4 lapply(x,runif)#runif,从一个均匀分布的总体里,抽取若干个数 lapply(x,runif,min=0,max=1000) x<-list(a=matrix=(1:6,2,3),b=matrix(4:7,2,2)) lapply(x,function(m) m[1,]) sapply//对lapply进行化简 结果列表长度均为1,返回向量 结果列表元素相同且大于1,返回矩阵
    查看全部
  • 向量化操作 -可以作用于向量,矩阵等结构,使得代码简洁,易于阅读,效率高 x<-1:5 y<-6:10 x+y x*y x/y //创建两个矩阵 x<-matrix(1:4,nrow=2,ncol=2) y<-matrix(rep(2,4)//把2重复4次,nrow=2,ncol=2) x%*%y //矩阵乘法
    查看全部
    2 采集 收起 来源:向量化操作

    2018-03-22

  • 处理缺失值 x <- c(1, NA, 2, NA, 3) x[!is.na(x)]#取得非缺失值 x <- c(1, NA, 2, NA, 3) y <- c("a","b",NA,"c",NA) z <- complete.cases(x,y) x[z] y[z]#取得两个向量中都不为NA的列 library(datasets)#导入R自带的数据集包 head(airquality)#head()方法查看数据集前几行 g <- complete.cases(airquality) airquality[g,][1:10,]#显示前10条不含NA属性的记录
    查看全部
    1 采集 收起 来源:处理缺失值

    2018-03-22

  • 列表的子集 x <- list(id=1:4, height=170, gender="male") x["id"]#与x[1]等效,返回的是名字和内容 #只返回内容 x[["id"]] x$id x[c(1,3)]#返回指定列 #可以用变量代替引用 y <- "id" x[[y]] #不可以用变量代替引用($) x$id x$y #获取嵌套列表中的元素 x <- list(a=list(1,2,3,4),b=c("Monday","Tuesdat")) x[[1]][[2]]#方法一:连续两个双括号 x[[c(1,3)]]#方法二:一个双括号,里面用c()函数 #不完全匹配 #如果一个不完全匹配有多个成功匹配,返回结果为NULL l <- list(asdfghj=1:10) l$asdfghj l$a l[["a",exact=FALSE]]#双括号关闭精确匹配
    查看全部
    2 采集 收起 来源:列表的子集

    2018-03-22

  • 数据框的子集 x <- data.frame(v1=1:5, v2=6:10, v3=11:15)#数据框三列元素 x$v3[c(2,4)] <- NA#第三列第2、4个元素赋为缺失值 x[,"v2"]#与x[,2]等效 x[(x$v1<4 & x$v2>=8),]#条件获取 #以下两种方式在以后的学习中会辨析区别 x[x$v1>2,] x[which(x$v1>2),] x$v1>2#返回满足条件的逻辑向量 which(x$v1>2)#返回上述逻辑为真的数值向量 #条件构建子集的函数,此函数适用于矩阵,数据框等其他数据结构 subset(x,x$v1>2)
    查看全部
    0 采集 收起 来源:数据框的子集

    2018-03-22

  • 数据操作小结
    查看全部
    0 采集 收起 来源:小结

    2016-10-30

  • 排序函数
    查看全部
  • tapply 对向量的子集进行操作
    查看全部
  • mapply 的简化作用 自己写函数
    查看全部
  • 构建子集
    查看全部
    0 采集 收起 来源:小结

    2016-10-30

  • 得到元素 仅得到元素的内容
    查看全部
    1 采集 收起 来源:列表的子集

    2016-10-30

举报

0/150
提交
取消
课程须知
本课程需要学员提前掌握 安装好R和Rstudio
老师告诉你能学到什么?
1、R语言的数据结构 2、构建数据子集 3、重要函数的使用

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!