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

R语言函数化编程笔记1的更多相关文章

  1. R语言函数化编程笔记2

    R语言函数化编程笔记2 我学过很多的编程语言,可以我写的代码很啰嗦,一定是我太懒了.或许是基础不牢地动山摇 1.为什么要学函数 函数可以简化编程语言,减少重复代码或者说面向对象的作用 2.函数 2.1 ...

  2. R语言函数化学习笔记6

    R语言函数化学习笔记 1.apply函数 可以让list或者vector的元素依次执行一遍调用的函数,输出的结果是list格式 2.sapply函数 原理和list一样,但是输出的结果是一个向量的形式 ...

  3. R语言函数化学习笔记3

    R语言函数化学习笔记3 R语言常用的一些命令函数 1.getwd()查看当前R的工作目录 2.setwd()修改当前工作目录 3.str()可以输出指定对象的结构(类型,位置等),同理还有class( ...

  4. R语言函数化学习笔记4

    条件语句和循环语句 当你说话时候用到了如果,此时条件出现了 举个条件函数的例子 sign_t<-function(x){ if(x>0){ return(1) }else if(x< ...

  5. R语言函数话学习笔记5

    使用Tidyverse完成函数化编程 (参考了家翔学长的笔记) 1.magrittr包的使用 里面有很多的管道函数,,可以减少代码开发时间,提高代码可读性和维护性 1.1 四种pipeline 1.1 ...

  6. R语言与机器学习学习笔记

    人工神经网络(ANN),简称神经网络,是一种模仿生物神经网络的结构和功能的数学模型或计算模型.神经网络由大量的人工神经元联结进行计算.大多数情况下人工神经网络能在外界信息的基础上改变内部结构,是一种自 ...

  7. #r语言(二)笔记

    #r语言(二)笔记 #早复习 #概述:R是用于统计分析.绘图的语言和操作环境 #对象: #数据类型--统称为对象 #向量(vector):用于存储数值型.字符型或逻辑型数据的一维数组. #定义向量: ...

  8. R语言与显著性检验学习笔记

    R语言与显著性检验学习笔记 一.何为显著性检验 显著性检验的思想十分的简单,就是认为小概率事件不可能发生.虽然概率论中我们一直强调小概率事件必然发生,但显著性检验还是相信了小概率事件在我做的这一次检验 ...

  9. 【R笔记】R语言函数总结

    R语言与数据挖掘:公式:数据:方法 R语言特征 对大小写敏感 通常,数字,字母,. 和 _都是允许的(在一些国家还包括重音字母).不过,一个命名必须以 . 或者字母开头,并且如果以 . 开头,第二个字 ...

随机推荐

  1. DotNet源码学习-HASHSET(初探)

    命名空间:System.Collections.Generic 先看一下官方说明:类提供了高级的设置操作.集是不包含重复元素的集合,其元素无特定顺序. HashSet <T>对象的容量是对 ...

  2. JavaScript 基础学习(一)JavaScript 简介

    定义 JavaScript是基于对象和事件驱动的语言,应用与客户端.其中: 基于对象:提供好了很多对象,可以直接拿过来使用 事件驱动:html做网站静态效果,javascript动态效果(网页能根据客 ...

  3. No mapping found for HTTP request with URI [/SLSaleSystem/js/jquery.dataTables.min.js] in DispatcherServlet with name 'spring' 静态资源文件访问不到,无解!!!!!!!

    报错信息:   网上三种修改 web.xml 文件方法尝试未果 尝试未果:<mvc:default-servlet-handler/> 尝试未果:方法2:直接告诉spring,这个你就得这 ...

  4. Centos中Redis的下载编译与安装(超详细)

    场景 NoSQL,泛指非关系型的数据库,NoSQL即Not-Only SQL,它可以作为关系型数据库的良好补充.随着互联网web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数 ...

  5. 安装PHP到CentOS(YUM)

    运行环境 系统版本:CentOS Linux release 7.3.1611 软件版本:PHP-7.2 硬件要求:无 安装过程 1.配置YUM源 [root@localhost ~]# rpm -i ...

  6. 面试官:Java序列化为什么要实现Serializable接口?我懵了

    整理了一些Java方面的架构.面试资料(微服务.集群.分布式.中间件等),有需要的小伙伴可以关注公众号[程序员内点事],无套路自行领取 更多优选 一口气说出 9种 分布式ID生成方式,面试官有点懵了 ...

  7. MySQL概述及入门(三)

    MySql概述及入门(三) MySQL性能优化 主要优化安全和性能方面 安全方面 : 数据可持续性 性能方面 : 数据的高性能访问 性能优化——慢查询 在MySQL数据库中有一个慢查询日志功能,去获取 ...

  8. (办公)记事本_linux关机和重启命令

    参考谷粒学院的linux视频教程:http://www.gulixueyuan.com/course/300/task/7091/show .sync Linux sync命令用于数据同步,sync命 ...

  9. 剑指offer-面试题53_2-0~n-1中缺失的数字-二分查找

    /* 题目: 寻找递增数组0~n-1中缺失的数字. */ /* 思路: 变形二分法. */ #include<iostream> #include<cstring> #incl ...

  10. opencv —— line、ellipse、rectangle、circle、fillPoly、putText 基本图形的绘制

    绘制线段:line 函数 void line(Mat& img, Point pt1, Point pt2, const Scalar& color, int thickness=1, ...