美文网首页程序员
学习R记录 <- 基础2

学习R记录 <- 基础2

作者: limbo1996 | 来源:发表于2019-03-14 21:24 被阅读0次

    在我写这篇的时候,是3月8日,祝各位女生节日快乐。
    而且今天也是漫威新电影《惊奇队长》上映的日子啊!!!!!
    好了,学R

    检查变量和工作区

    1.类

    类是一个很重要的定义,python中也有类,很多人说当你用python开始写类的时候,你python也学的差不多了。嗯,R中也有类的定义。
    “类”(class),R中所有的变量都会有一个类,用来表明此变量是什么属性,比如数字向量是numeric类。逻辑向量是logical类。
    在R中可以使用函数class(my_variable)来查询变量的类。

    > a <- c(1,2,3,4)
    > a
    [1] 1 2 3 4
    > class(a)
    [1] "numeric"
    

    1.1不同类型的数字

    R中包括一共三种不同的数字类型:浮点值numeric、整数integer、复数complex.

    > class(sqrt(1:10))
    [1] "numeric"
    > class(3 + 1i)
    [1] "complex"
    > class(1)
    [1] "numeric"
    > class(1L)
    [1] "integer"
    > class(0.5 : 4.5)
    [1] "numeric"
    > class(1:5)
    [1] "integer"
    

    1.2其他通用类

    除了数字类、逻辑类、向量,R中还有三个类:用于储存文本的字符character,储存类别数据的因子factor,比较罕见的储存二进制数据的原始值raw。
    其中需要重点介绍的就是因子factor。
    在很多语言中,类比数据用整数来表示,比如gender中1代表female,2代表male。因为类别和传统的纯文本不是一个概念,R找到了一个比较好的办法将二者结合,那就是因子
    因子,即有标签的整数。

    > gender <- factor(c('male', 'female', 'female', 'male', 'male'))
    > gender
    [1] male   female female male   male  
    Levels: female male
    > nlevels(gender)
    [1] 2
    > as.integer(gender)
    [1] 2 1 1 2 2
    

    在底层因子的值被储存为整数而不是字符,这样可以令内存的使用十分的高效。

    > gender_char <- sample(c('female', 'male'), 1000, replace = TRUE)#sample函数对‘female'和'male’随机取样1000次。
    > gender_fac <- as.factor(gender_char)
    > object.size(gender_char)
    8160 bytes
    > object.size(gender_fac)
    4560 bytes
    

    当然在对因子就行操作的时候把因子转换为字符串通常会比较方便。

    > as.character(gender)
    [1] "male"   "female" "female" "male"   "male"  
    

    以上代码参照《学习R》

    相关文章

      网友评论

        本文标题:学习R记录 <- 基础2

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