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

R语言基础

  • 总结数据信息:#默认前六行或者后六行 head(airquality, 10)#查看前10行 tail(airquality, 10)#查看后10行 summary(airquality)#总结,数据分布整体把握 str(airquality)#以简洁方式对数据总结 table(airquality$Month)#对列进行频数统计 table(airquality$Ozone, useNA = "ifany")#将Ozone中NA的数值统计出来 any(is.na(airquality$Ozone))#判断是否有缺失值,true是有缺失值 sum(is.na(airquality$Ozone))#统计缺失值数量 all(airquality$Month < 12)#查看是不是所有的月份都小于12 #将Titanic强制转换为数据框 t <- as.data.frame(Titanic) x <- xtabs(Freq ~ Class + Age, data = t)#按照Class和Age生成交叉表 ftable(x)#扁平化显示 object.size(airquality)#查看对象大小 print(object.size(airquality),units="Kb")#按照kb显示大小

    查看全部
    0 采集 收起 来源:总结数据信息

    2018-07-01

  • #对数据进行排序 

    #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 = TRUE) 

    order(x$v2) #返回的不是内容本身,是内容的下标 

    x[order(x$v2),] #对x针对v2进行排序 

     x[order(x$v4, x$v2, decreasing = TRUE), ]

    查看全部
  • 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))#处理缺失值

    查看全部
    0 采集 收起 来源:R语言函数 split

    2018-07-01

  • tapply:对向量子集进行操作。

    根据因子列表,每个水平下的元素个数来对向量进行划分(比如有三个水平,每个水平有4个数,就是将向量分成3组,每组4个数),对每组运行函数。 

    tapply(向量,因子/因子列表,函数/函数名)  

    因子的创建可通过函数:因子名 <- gl(因子包含的水平数,每个水平下有多少个元素)


    查看全部
  • mapply:

    lapply的多远版本 

    mapply(函数/函数名,数据,函数相关的参数) #相当于多次运行这个函数 

    list(rep(1,4),rep(2,3),rep(3,2),rep(4,1))可简化为mapply(rep,1:4,4:1)  

    R语言定义函数: 

    函数名 <- function(参数列表){    

        函数体 

    }


    查看全部
  • apply:沿着数组的某一维度处理数据。 

    apply(数组/矩阵,维度,函数/函数名),维度是选择哪个维度,可以用c() 

    行求和:rowSums(x) 行求平均:rowMeans(x) 列求和:colSums(x) 列求平均:colMeans(x)  这四个函数在用于单纯行\列操作效率比apply高

    rnorm(num):随机从正态分布中取num个数据 

    quantile:求数据的百分位点,可通过probs=c()进行分配


    查看全部
    0 采集 收起 来源:R语言函数 apply

    2018-06-30

  • 处理循环:R中不仅有for/while循环语句,还有“一句话”函数。 

    排序 

    总结数据信息 

    lapply:可以循环处理列表中的每一个元素。

    lapply(列表,函数/函数名,其他参数),返回值总是一个列表。 

    lapply(x,mean) #对x中的元素求平均,若x不是列表,会被强制转换为列表

    lapply(x,runif) #从均匀分布的总体里抽取元素数值个0-1的随机数 

    lapply(x,runif,min=0,max=100) #抽取出大于0小于100的随机数 min、max作为runif的参数传入 

    函数可以自定义,即匿名函数形式: function(参数)  操作

    注意:传进来的参数是列表中的每个元素(是下一级的)。 

    sapply与lapply操作相同,但是是对lapply进行简化,若结果列表中元素个数均为1,返回numeric向量;若结果列表元素个数相同且大于1,返回矩阵。 

    str()参数为R对象,将其以一种整洁紧凑的形式显示出来。可以用来函数对象需要哪些参数


    查看全部
  • 向量化操作:可以作用于向量、矩阵等结构,使得代码简介、易于阅读、效率高。 

    向量、矩阵之间的加减乘除是依次对应的元素之间做加减乘除。 

    矩阵之间进行矩阵乘法:矩阵1 %*% 矩阵2 

     rep(num1,num2) #num1重复num2次

    查看全部
    0 采集 收起 来源:向量化操作

    2018-06-30

  • x[!is.na(x)] #返回不是缺失值的元素 

    complete.cases() #()内为两个向量对应的元素都不是缺失值的才为TRUE,否则返回的向量中都为FALSE  

    library(datasets) #得到R的数据集 

    head(数据集) #返回数据集前六列的数据 

    可通过g <- complete.cases(数据集) 返回每条数据是否含有缺失值的向量

    数据集[g,][1:10,] #表示不含有缺失值的,所有变量都显示,显示第1到第10行,显示所有列。因为g是向量,所以可以用来选择行,即选择哪些数据

    查看全部
    0 采集 收起 来源:处理缺失值

    2018-06-30

  • 列表的子集: 

    可通过[],填写标号或名称,无法直接得到元素的内容,而是元素的名字和内容。 

    要想只得到元素的内容,可以用[[]]或列表名$元素名。  

    想获得嵌套列表中的内容时,可通过[[]][[]]或者[[c()]]获得。 

    不完全匹配:列表名[["不完全元素名",exact=FALSE]]或者直接$不完全元素名  #关闭不完全匹配,只能唯一标识的

    查看全部
    1 采集 收起 来源:列表的子集

    2018-06-30

  • 数据框的子集: 

    数据框名$列名[编号或c()] #获取数据框中的元素,或者用于矩阵相同的方法获取元素。 

     通过"数据框名$列名"来返回对应的向量。 

    which()返回的是判断语句中为真的对应的下标,而不用which()返回的是TRUE和FALSE构成的向量 

    subset(向量矩阵数据框名,构建子集的条件) #可对应所有类型的数据


    查看全部
    0 采集 收起 来源:数据框的子集

    2018-06-30

  • x <- matrix(1:6, nrow=2, ncol=3) 

    x[1,2]#返回指定坐标向量 

    x[1,]#返回指定行的向量 

    x[,2]#返回指定列的向量 x[1,c(1,3)]#返回指定行中特定列的向量  

    x[1,2]#返回integer向量 

    x[1,2,drop=FALSE]#不返回向量, 而返回返回矩阵

    查看全部
    0 采集 收起 来源:矩阵的子集

    2018-06-30

  • 构建子集: 

    原始数据->预处理后的数据。原始数据通过预处理得到想要操作的数据。  

    向量的子集 

    基本方法: 

    []:提取一个或多个类型相同的元素。类似于索引操作,但下标从1开始。[1:5]提取第1个到第5个元素。可在[]加上判定条件,如x[x>5],通过x>5返回每个元素与5比较大小后的真值,然后提取出x中为TRUE的元素。&并且,|或者。也可在[]输入元素对应的名字,名字要加""。 

    [[]]:从列表或数据框中提取元素 

    $:按名字从列表或数据框中提取元素 对于向量,直接用向量名加上判定条件,是对向量中的每个元素都进行判断,并返回每个元素对应的真值。

    查看全部
    0 采集 收起 来源:基本方法

    2018-06-30

  • 5种对象类型小结:

    查看全部
    0 采集 收起 来源:小结

    2018-06-30

  • 日期与时间: 

    -日期:Date,是距离19700101的天数 

    获取当前系统的时间:date() #是字符型 

    获得日期类型的数据:Sys.Date() #是Date类型 

    将字符串转变为Date类型:as.Date("yyyy-mm-dd") 

    获取星期:weekdays(Date类型变量名字) 

    获取月份:months(Date类型变量名字) 

    获取季度:quarters(Date类型变量名字) 

    获取距离1970-01-01的天数:julian(Date类型变量名字) 

    Date类型之间可以进行运算,相减就是相差的天数,通过as.numeric()来转变为数值类型

     -时间:POSIXct/POSIXlt,是距离19700101的秒数 

    POSIXct:整数,常用于存入数据框 

    POSIXlt:列表,还包含星期、年、月、日等信息 

    获取当前系统时间:Sys.time() #是POSIXct类型 

    通过names(unclass(POSIXlt类型变量名))获取存储的信息。

    通过"POSIXlt类型变量名$信息"获得,比如p$sec 

    时间的模式存储strptime 

     通过as.来进行变量类型转换


    查看全部

举报

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

微信扫码,参与3人拼团

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

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