zoukankan      html  css  js  c++  java
  • R语言函数化编程笔记1

    R语言函数化编程笔记1

    notes:有一个不错的网站叫做stack overflow,有问题可以从上面找或者搜索答案,会有大佬相助。
    在github上面可以找到很多R的扩展包,如果自己额修改被接受,那么就会成为该包的贡献者。。

    1. R的编辑器
      一般会在Rstudio中编写一个脚本文件来执行多行代码,可以编写R脚本,Rmarkdown文档,网页等,或者C++源代码

    2. 常用快捷键

    • ctrl+enter组合键运行选中命令
    • ctrl+shift+S组合键执行当前文档,也就是依次执行当前文档中的所有表达式
    • Tap或者ctrl+space组合键展示匹配当前输入变量和函数的自动补齐列表
    • 单击行数边缘左侧设置一个断点,就是debug,下次执行这行的时候程序会停下来检查
    3. 查看帮助文档的方式 在Help帮助窗格里面输入函数名能够直接找到 在console中输入函数名并按F1键 在console中输入“?函数名”并执行它

    我感觉,我R语言函数编程这里在数据处理这里老老是出bug,我感觉应该是对于每个函数的数据类型使用不当。
    因为每个对象都有其不同的类型和性质
    4. 数据类型
    4.1 向量
    4.1.1 数值向量
    4.1.2 逻辑向量
    4.1.3 字符向量
    4.2 给向量命名
    可以通过names()获取向量中函数的名字

    names(x)
    ## "a" "b" "c"
    

    或者通过对向量赋予不同字符向量来更改元素名称

    names(x)<-c("x","y","z")
    

    4.2.1 提取向量的元素
    [] 能够创建一个向量子集
    [[]] 能够提取向量中的元素

    4.2.2 识别向量类型
    class(变量名)。具体的函数用法可以进行查询
    4.2.3 强制类型转化
    as.numeric()
    as.data.frame()
    as.character()
    ......很多。
    4.3 矩阵
    创建矩阵的函数:matrix,具体用法可以查询
    为行和列命名
    rownames(矩阵名)
    colnames(矩阵名)
    4.3.1 提取矩阵的子集
    [] 还是这个框,挺好用的
    4.4 数组
    记住array函数吧,比较简单
    4.5 列表(list)用的比较多
    因为不用类型的数据均可存放在一个列表中
    可以使用$符号来提取列表中的元素

    4.6 数据框
    一般平时用到的面板数据可以看成一个数据框(不过这样子说不太专业奥)

    persons<-data.frame(
      Name=c("ken","ally","jj"),
      Gender=c("Male","Female","Female"),
      Age=c(24,25,23),
      Major=c("finance","art","cs"))
    persons
     Name Gender Age   Major
    1  ken   Male  24 finance
    2 ally Female  25     art
    3   jj Female  23      cs
    

    4.6.1 提取数据框子集
    同样可以用$符号,或者用[[]]来提取某一位置的
    4.6.2 数据框中的实用函数
    summary()展示一个汇总表,比较直观
    rbind()按行合并,可以向数据框中添加一些行

    rbind(persons,data.frame(Name="july",
      Gender="Female",
      Age=23,
      Major="cs")
    Name Gender Age   Major
    1  ken   Male  24 finance
    2 ally Female  25     art
    3   jj Female  23      cs
    4 july Female  23      csex
    

    cbind()按列合并,可以向数据框添加一些列

    expand.grid()可以生成一个包含所有列值组合的数据框(这个以后看看能不能有妙用)

    > expand.grid(type=c("A","B"),class=c("M","L","XL")
    + )
      type class
    1    A     M
    2    B     M
    3    A     L
    4    B     L
    5    A    XL
    6    B    XL
    
  • 相关阅读:
    PHP查询手机号归属地
    MSVC版本号对应关系
    IT界名人录
    QT5 Win7 项目封装发行版(C++)
    ANSI编码
    微信小程序 for循环说明
    virtualbox 虚拟机 安装win7系统 无法联网
    go 实现两个goroutine交替执行打印数字和字母
    go 学习之反射
    go 学习之数据类型
  • 原文地址:https://www.cnblogs.com/gaowenxingxing/p/11947234.html
Copyright © 2011-2022 走看看