R语言笔记③——常用函数、基本数据集、帮助介绍和调试方法

常用函数

下面是一个自定义函数,实现了寻找众数的功能

> mode <- function(x){
+   return(as.numeric(names(table(x))[table(x) == max(table(x))]))
+ }
> mode(c(1,2,2,2,3,3,6,6))
[1] 2

source函数

source()函数可以实现加载外部函数的功能。

如果我们编写了自定义的函数,但是想要使用的话,每一次都需要重新写出函数,这样十分复杂,我们可以直接将函数保存在一个文件中,如果我们需要使用的话再将文件通过source()函数导入就可以使用了。

假如我们将上面的寻找众数的函数保存在一个文件中,如下
R语言笔记③——常用函数、基本数据集、帮助介绍和调试方法_第1张图片
通过source函数就可以将这个函数导入进来,我们也就可以随时使用了
R语言笔记③——常用函数、基本数据集、帮助介绍和调试方法_第2张图片

apply函数

apply()函数可以对向量元素进行循环处理

apply(data,num,fun)

这个函数大体分为三个参数,第一个是需要处理数据(数组),第二个参数通过传入的数字表示根据什么分组,1表示行,2表示列,3表示第三维度,以此类推,最后一个参数表示的是处理这些数据的函数,函数可以是包里的,也可以是我们自定义的。

下面就是对一个2维数组中按列分组后的数据进行了平均函数的处理,mean函数就是平均值函数

> x
     [,1] [,2] [,3] [,4]
[1,]    1    4    7   10
[2,]    2    5    8   11
[3,]    3    6    9   12
> apply(x, 2, mean)
[1]  2  5  8 11

lapply函数

lapply()函数可以对列表元素进行循环处理

lapply(data,fun)

下面是对列表中的数进行求和处理

> a <- list(c(2,5,4,6,7),c(88,416,15,489))
> a
[[1]]
[1] 2 5 4 6 7

[[2]]
[1]  88 416  15 489

> lapply(a, sum)
[[1]]
[1] 24

[[2]]
[1] 1008

sapply函数

sapply()函数同样是处理列表数据,但是返回的结果是一个表格,而lapply则返回的是列表

sapply(data,fun)

如下,同样是quantile函数处理,lapply返回的是列表,sapply则返回的是一个表格

> lapply(a, quantile)
[[1]]
  0%  25%  50%  75% 100% 
   2    4    5    6    7 

[[2]]
    0%    25%    50%    75%   100% 
 15.00  69.75 252.00 434.25 489.00 

> sapply(a, quantile)
     [,1]   [,2]
0%      2  15.00
25%     4  69.75
50%     5 252.00
75%     6 434.25
100%    7 489.00

tapply函数

tapply()函数

> a <- as.factor(c(1,1,2,3,3))
> a
[1] 1 1 2 3 3
Levels: 1 2 3
> ?as.factor
> tapply(a,a,length)
1 2 3 
2 1 2 

数据类型转换函数

基本数据类型转换函数如下:

  • as.character():将数据转换成字符串
  • as.complex():将数字转换成实数
  • as.numeric():将数据转换成数字
  • as.double():将数据转换成浮点类型
  • as.integer():将数字转换成整数类型
  • as.logical():将数字转换成布尔类型

as.character()可以将数据转换成字符串

> as.character(12)
[1] "12"
> as.character('a')
[1] "a"

as.complex()可以将数字转换成实数

> as.complex(12)
[1] 12+0i

as.numeric()可以将数据转换成数字

> as.numeric('1321')
[1] 1321

as.double()将数据转换成浮点类型

> as.double(12)
[1] 12
> as.double(12.1)
[1] 12.1

as.integer()可以将数字转换成整数类型

> as.integer(123.123)
[1] 123

as.logical()可以将数字转换成布尔类型

> as.logical(1)
[1] TRUE
> as.logical(0)
[1] FALSE
> as.logical(-1)
[1] TRUE
> as.logical(3)
[1] TRUE

基本数据集

向量集

R语言笔记③——常用函数、基本数据集、帮助介绍和调试方法_第3张图片

因子集

R语言笔记③——常用函数、基本数据集、帮助介绍和调试方法_第4张图片

矩阵、数组集

R语言笔记③——常用函数、基本数据集、帮助介绍和调试方法_第5张图片

类矩阵集

R语言笔记③——常用函数、基本数据集、帮助介绍和调试方法_第6张图片

数据框集

R语言笔记③——常用函数、基本数据集、帮助介绍和调试方法_第7张图片
R语言笔记③——常用函数、基本数据集、帮助介绍和调试方法_第8张图片
R语言笔记③——常用函数、基本数据集、帮助介绍和调试方法_第9张图片

列表集

在这里插入图片描述

类数据框集

R语言笔记③——常用函数、基本数据集、帮助介绍和调试方法_第10张图片

事件序列数据集

R语言笔记③——常用函数、基本数据集、帮助介绍和调试方法_第11张图片
R语言笔记③——常用函数、基本数据集、帮助介绍和调试方法_第12张图片

查看数据集

如果我们想知道一个包自带有哪些数据集,可以通过如下命令查看:

data(package='包名')

下面可以查看R中所有包的数据情况

data(package=.package(all.available=TRUE))

帮助介绍

通过help.start()打开帮助页面
R语言笔记③——常用函数、基本数据集、帮助介绍和调试方法_第13张图片
通过help()可以直接查看某一个包或者函数的帮助

help([函数名])
help(package = [包名])
?[函数名]

通过example([函数名])可以获取函数的案例
R语言笔记③——常用函数、基本数据集、帮助介绍和调试方法_第14张图片

调试方法

debug函数

通过debug()函数进行调试,进入调试浏览器时,命令提示符从“>”变为“Browse[d]>”(“d”表示函数调用链深度)。下面是我们可以在调试浏览器中输入的命令:

  • n(next):执行下一行,然后暂停,直接键入“Enter”一样;
  • c(continue):如果在循环中,会执行本次循环剩下所有语句,然后进入下一次循环,到该位置继续暂停;
  • 变量名:查看变量值,若与浏览器变量同名,需用print()打印出来查看;
  • where:显示到达当前位置过程中函数的调用序列;
  • Q:该命令会退出调试浏览器,返回正常交互模式。

下面是一个简单的示例
R语言笔记③——常用函数、基本数据集、帮助介绍和调试方法_第15张图片

browser函数

这个函数可以使得我们调试的入口从这个函数开始,而且每一次经过这个函数都会触发暂停,而且如果在一个循环中我们想通过c命令查看每一次循环的情况可以在循环中加上browser()函数,这样就不会一次性执行完。

我们不需要调用debug函数,只要存在browser函数的方法,直接调用该方法就可以进入调试模式,而且会直接执行到browser函数处。
R语言笔记③——常用函数、基本数据集、帮助介绍和调试方法_第16张图片

你可能感兴趣的:(R语言学习笔记)