R语言系列3:高级数据管理
此文内容为《R语言实战》的笔记,人民邮电出版社出版。
从高中电脑课学VB开始,大一课内开始学习C++,到后来大二为了数模学习Matlab,到大三为了搞深度学习自学Python,到研究生之初学习Stata——选择一门语言对我来说就像是小时候玩冒险岛,到10级的时候是转战士好还是弓箭手好一般的纠结。我查阅了很多B乎的文章,最后觉得可能R比较合适现在的我。
作为从Python转进来R的新手,我把可能会用经常需要用到或经常需要查阅的代码贴上来,主要是为了日后方便查找,就像“字典”一样。推文的顺序与教材不同,为了简洁,我还会删除一些我个人认为不太重要的章节。我还会按照自己的学习进度发布文章,请读者见谅。
本文章仅供学习参考,请勿转载,侵删!
目录
- 5 高级数据管理
- 5.2 数值和字符串处理函数
- 5.2.1 数学函数
- 5.2.2 统计函数
- 5.2.3 概率函数
- 5.2.4 字符处理函数
- 5.2.5 其他实用函数
- 5.4 控制流
- 5.4.1 循环结构
- 5.4.2 判断结构
- 5.4.3 用户自定义函数
- 5.6 整合与重构
- 5.6.1 数据集的转置
- 5.6.2 整合数据
- 5.6.3 reshape2包
- 5.2 数值和字符串处理函数
第5章 高级数据管理
在第4章,我们学习了R中基本的数据处理方法。在第5章,我们主要浏览R中的多种数学、统计和字符处理函数,了解如何自己编写函数来实现数据处理和分析任务,并了解数据的整合和概述方法以及数据集的重塑和重构。
5.2 数值和字符处理函数
R中作为数据处理基石的函数,可以分为数值函数(数学、统计、概率)和字符串处理函数。
5.2.1 数学函数
R中常用的数学函数有:
== 函数 == == 描述 ==abs(x) 绝对值sqrt(x) 平方根ceiling(x) 不小于x的最小整数floor(x) 不大于x的最大整数trunc(x) 向0方向取整round(x, digits=n) 将x舍入为指定小数位数signif(x, digits=n) 将x舍入为指定的有效数字位数cos(x),sin(x),tan(x) 三角函数acos(x),asin(x),... 反三角函数cosh(x),sinh(x),... 双曲三角函数acosh(x),... 反双曲三角函数log(x, base=n) 对x取n为底数的对数log(x) 自然对数log10(x) 常用对数exp(x) 自然指数
对数据做变换是这些函数的主要用途。这些函数作用于vector或matrix或data.frame对象会作用于每一个独立的值,见:
V1 = c(1:10)V2 = c(11:20)M = matrix(V1, nrow = 2)D = data.frame(V1, V2)sqrt(V1)
## [1] 1.000000 1.414214 1.732051 2.000000 2.236068 2.449490 2.645751 2.828427## [9] 3.000000 3.162278
sqrt(M)
## [,1] [,2] [,3] [,4] [,5]## [1,] 1.000000 1.732051 2.236068 2.645751 3.000000## [2,] 1.414214 2.000000 2.449490 2.828427 3.162278
sqrt(D)
## V1 V2## 1 1.000000 3.316625## 2 1.414214 3.464102## 3 1.732051 3.605551## 4 2.000000 3.741657## 5 2.236068 3.872983## 6 2.449490 4.000000## 7 2.645751 4.123106## 8 2.828427 4.242641## 9 3.000000 4.358899## 10 3.162278 4.472136
5.2.2 统计函数
常用的统计函数如表所示:
== 函数 == == 描述 ==mean(x) 平均值median(x) 中位数sd(x)