美文网首页
R action 4

R action 4

作者: KrisKC | 来源:发表于2019-04-22 10:37 被阅读0次

20171205(从有道迁移)

基本数据管理

  1. 创建新变量

    1. 格式:变量名←表达式,“表达式”部分可以包含多种运算符和函数
    2. 算术运算符可用于构造公式(formula)
    运算符 描述
    +
    -
    *
    /
    ^或** 求幂
    x%%y 求余(x mod y)。5%%2的结果为1
    x%/%y 整数除法。5%/%2的结果为2
  2. 变量重编码

    1. 重编码涉及根据同一个变量和/或其他变量的现有值创建新值的过程。
      • 将一个连续型变量修改为一组类别值;
      • 将误编码的值替换为正确值;
      • 基于一组分数线创建一个表示及格/不及格的变量。
    2. 要重编码数据,可以使用R中的一个或多个逻辑运算符,逻辑运算符
    逻辑运算符 描述
    < 小于
    <= 小于或等于
    > 大于
    >= 大于或等于
    == 严格等于*
    != 不等于
    !x 非x
    x y x或y
    x & y X和y
    isTRUE(x) 测试x是否为TRUE
  3. 语句variable[condition] <- expression将仅在condition的值为TRUE时执行赋值

    1. 写法1:
    ageType[age>=55 && age<75]<-"Middle Ages"
    
    1. 写法2,需要注意的是,在大括号里面,如果执行语句不换行的话,语句之间需要用逗号隔开
    leadership <- within(leadership,{ageType=NA
                     ageType[age > 85]<-"Elder"
                     ageType[age>=55 && age<75]<-"Middle Ages"
                     ageType[age<55]<-"Young"})
    
  4. 变量的重命名

    1. 调出可编辑窗口:fix(变量名)
    2. reshape包中有一个rename()函数,可用于修改变量名。rename()函数的使用格式为:rename(dataframe,c(oldname="newname",oldname="newname",...)
    3. 通过names()函数来重命名变量
    names(leadership)[2] <- "testDate"
    
  5. 缺失值

    1. 缺失值以符号NA(Not Available,不可用)表示,缺失值被认为是不可比较的;
    2. 不可能出现的值(例如,被0除的结果)通过符号NaN(Not a Number,非数值)来表示;
    3. 检测缺失值函数:is.na(),该函数作用与一个对象时,函数结果返回一个相同大小的对象
    4. ==在分析过程中排除缺失值,多数的数值函数都拥有一个na.rm=TRUE选项,可以在计算之前移除缺失值并使用剩余值进行计算==
    y <- sum(x,na.rm=TRUE)
    
    1. ==通过函数na.omit()移除所有含有缺失值的观测。na.omit()可以删除所有含有缺失数据的行==
    newdata <- na.omit(leadership)
    
  6. 日期值

    1. 日期值通常以字符串的形式输入到R中,然后转化为以数值形式存储的日期变量;
    2. 函数as.Date()用于执行这种转化。其语法为as.Date(x, "input_format"),其中x是字符型数据,input_format则给出了用于读入日期的适当格式
    3. 日期格式
    符号 含义 示例
    %d 数字表示的日期(0~31) 01~31
    %a 缩写的星期名 Mon
    %A 非缩写星期名 Monday
    %m 月份(00~12) 00~12
    %b 缩写的月份 Jan
    %B 非缩写月份 January
    %y 两位数的年份 07
    %Y 四位数的年份 2007
    1. 日期值的默认输入格式为yyyy-mm-dd
    mydates <- c("01/05/1965","08/16/1975")
    
    strDates <- c("01/05/1965","08/16/1975")
    mydates2 <- as.Date(c,"%m/%d/%Y")  ---使用mm/dd/yyyy的格式读取数据
    
    
    1. Sys.Date()可以返回当天的日期,而date()则返回当前的日期和时间
    2. 以使用函数format(x, format="output_format")来输出指定格式的日期值,并且可以提取日期值中的某些部分
    today <- Sys.Date()
    format(today,format="%A %B %d %y")
    
    1. 在日期值上执行算术运算
    2. 使用函数difftime()来计算时间间隔,并以星期、天、时、分、秒来表示
    chris <- as.Date("1985-04-02")
    difftime(today,chris,units="week") ---units应当是“auto”, “secs”, “mins”, “hours”, “days”, “weeks”其中的一个
    
    
    1. 将日期转换为字符型变量:
    strDates <- as.character(mydates2)
    
  7. 类型转换

    1. 类型转换函数,名为is.datatype()这样的函数返回TRUE或FALSE,而as.datatype()这样的函数则将其参数转换为对应的类型
    判断 转换
    is.numeric() as.numeric()
    is.character() as.character()
    is.vector() as.vector()
    is.matrix() as.matrix()
    is.data.frame() as.data.frame()
    is.factor() as.factor()
    is.logical() as.logical()
  8. 数据排序

    1. 使用order()函数对一个数据框进行排序。
    2. 默认的排序顺序是升序。
    3. 在排序变量的前边加一个减号即可得到降序的排序结果
    newdata <- leadership[order(leadership$age),]
    newdata2 <- leadership[order(leadership$age,leadership$q1),]
    newdata3 <- leadership[order(leadership$age,-leadership$q1),]
    
    
  9. 数据集的合并

    1. 添加列
      1. 横向合并两个数据框(数据集),使用merge()函数
      2. 在多数情况下,两个数据框是通过一个或多个共有变量进行联结的(即一种内联结,inner join)。
      total <- merge (dataframe1,dataframe2,by="id")
      total <- merge (dataframe1,dataframe2,by=c("id","country"))
      
      1. 如果要直接横向合并两个矩阵或数据框,并且不需要指定一个公共索引,那么可以直接使用cbind()函数:
      total <- cbing(a,b)
      
      1. cbing()函数将横向合并对象A和对象B。为了让它正常工作,每个对象必须拥有相同的行数,且要以相同顺序排序。
    2. 添加行
      1. 要纵向合并两个数据框(数据集),使用rbind()函数
      total <- rbing(a,b)
      
      1. 两个数据框必须拥有相同的变量,不过它们的顺序不必一定相同。
      2. 如果dataframeA中拥有dataframeB中没有的变量,请在合并它们之前做以下某种处理:
        • 删除dataframeA中的多余变量;
        • 在dataframeB中创建追加的变量并将其值设为NA(缺失)。
      3. 纵向联结通常用于向数据框中添加观测。
  10. 数据集取子集

    1. 选入(保留)变量:从一个大数据集中选择有限数量的变量来创建一个新的数据
      1. 数据框中的元素是通过dataframe[row indices, column indices]这样的记号来访问的。可以沿用这种方法来选择变量
      2. 使用paste()函数
    2. 剔除(丢弃)变量: 类似myvars <- names(leadership) %in% c("q3","q4")
    3. 选入观测:选入或剔除观测(行)通常是成功的数据准备和数据分析的一个关键方面
    4. subset函数:是选择变量和观测
    newdata <- subset(leadership, age >= 35 | age < 24,select=c(q1, q2, q3, q4))
    newdata <- subset(leadership, gender=="M" & age > 25,select=gender:q4)
    
    
    1. 随机抽样
      1. sample()函数能够从数据集中(有放回或无放回地)抽取大小为n的一个随机样本; sample()函数会返回随机抽样得到的元素,之后即可用于选择数据框中的行。
      2. 格式:
      mysample <- leadership[sample[1:nrow(leadership),3,replace=FALSE],]
      
      1. sample()函数中的第一个参数是一个由要从中抽样的元素组成的向量。在这里,这个向量是1到数据框中观测的数量
      2. 第二个参数是要抽取的元素数量;
      3. 第三个参数表示无放回抽样。
    2. 使用 SQL 语句操作数据框,sqldf包

相关文章

  • R action 4

    20171205(从有道迁移) 基本数据管理 创建新变量格式:变量名←表达式,“表达式”部分可以包含多种运算符和函...

  • R in action

    2.2.2 矩阵 矩阵是一个二维数组,只是每个元素都拥有相同的模式(数值型、字符型或逻辑型)。 可通过函数matr...

  • R action 1

    20171113(从有道迁移) 一.安装&基础概念 安装参见官网安装指南; 工作空间(workspace):类似j...

  • R action 2

    20171205(从有道迁移) 数据集 数据类型(模式)包括:数值型、字符型、逻辑型(TRUE/FALSE)、复数...

  • R action 5

    20171205(从有道迁移) 高级数据管理 示例问题:给所有学生确定一个单一的成绩衡量指标,需要将这些科目的成绩...

  • R action 9

    20180502(从有道迁移) 方差分析 当包含的因子是解释变量时,我们关注的重点通常会从预测转向组别差异的分析,...

  • R action 10

    20180508(从有道迁移) 功效分析 假设检验速览研究目标是维持一个可接受的显著性水平,尽量使用较少的样本,然...

  • R action 6

    20171225(从有道迁移) 基本图形 条形图简单条形图:通过垂直的或水平的条形展示了类别型变量的分布(频数)语...

  • R action 7

    20180316(从有道迁移) 基本统计分析 描述性统计分析常用库:基础方法summary;summary()函数...

  • R action 8

    20180404(从有道迁移) 回归 回归的多面性回归分析的各种变体回归类型用 途简单线性用一个量化的解释变量预测...

网友评论

      本文标题:R action 4

      本文链接:https://www.haomeiwen.com/subject/qpoegqtx.html