• R-模式(mode)和类(class)


    数据模式:mode函数显示任何对象的模式。常见的单个的对象模式是逻辑型(Logical)、数值型(Numeric)、字符型(Character)。

    常用到的数据模式是列表(list)。

    • 逻辑型:TRUE和FALSE都是大写字母;转换成数值型时TRUE->1,FALSE->0。
    • 字符型:输入字符型时可以用单引号或者双引号,而输出时都是双引号
    • 列表:允许多种模式的数据,数据框也是一种列表。而矩阵、向量等要求所有数据都属于相同的模式。

    数据模式之间的转换

    • as.character->转换为字符型
    • as.numeric->字符型转换数值型
    • as.logical->字符型转换逻辑型

    数据类型:class函数显示对象的类。常见的有向量(Vertor),数据框(Frame),矩阵(Matrix),因子(Factor)。

    • 因子:在统计建模和制图函数中对因子进行特殊处理。但是用mode函数检查时一律返回为数值型
    • 日期和时间:虽可以以字符型存储,但不方便应特殊处理。

    数据模式和数据类型的检测

    • 列表允许多种模式的数据,若想获得各个组成部分的模式和类时,可以使用sapply函数。
    • 数据框的模式是list,类是data.frame。
    • 有时候mode和class函数返回相同的结果。
    • 以"is."开头的很多函数如is.list,is.factor,is.numeric,is.character等,能让你确认是否跟你预期的相同。
    > mylist = list(a = c(1,2,3),b = c('a','b','c'),c = c(TRUE,FALSE),d = factor('house'));
    > sapply(mylist,mode)
              a           b           c           d
      "numeric" "character"   "logical"   "numeric"
    > sapply(mylist,class)
              a           b           c           d
      "numeric" "character"   "logical"    "factor" 
    
    a = c(1,2,3);
    b = c('a','b','c');
    c = c(TRUE,FALSE);
    d = factor('house');
    > is.numeric(a)
    [1] TRUE
    > is.character(b)
    [1] TRUE
    > is.logical(c)
    [1] TRUE
    > is.factor(d)
    [1] TRUE
    > is.numeric(d)
    [1] FALSE
    #注意对d并不是数值型,返回FALSE。
    

     

      

  • 相关阅读:
    Linux常见问题解决
    (转)CoreDNS:Kubernetes内部域名解析原理、弊端及优化方式
    (转)Go sync.WaitGroup的用法
    (转)5个维度对 Kubernetes 集群优化及压测方案
    使用 Alpine 作为基础镜像时可能会遇到的常见问题的解决方法
    提前预防K8s集群资源不足的处理方式配置
    docker runc升级
    Nginx常见问题解决
    DNS泛域名解析应用(nip.io)
    使用Velero备份Kubernetes集群
  • 原文地址:https://www.cnblogs.com/zhangduo/p/4419769.html
Copyright © 2020-2023  润新知