r 选取从小到大的数据_R语言(常用函数与数据管理)

本篇博客主要介绍了R语言中的数据操作,包括数学函数、统计函数、数据框操作、字符串处理和日期类型字符串的处理。内容涵盖基本数学运算、统计函数如均值、中位数、标准差,以及数据框的行列操作、排序、合并、子集选择。此外,还讲解了字符串处理函数和日期型字符串的转换。
摘要由CSDN通过智能技术生成

本节内容可应用在数据读取之后。包括基本的运算(包括统计函数)、数据重整(排序、合并、子集、随机抽样、整合、重塑等)、字符串处理、异常值(NA/Inf/NaN)处理等内容。也包括 apply() 这种函数式编程函数的使用。

数学函数

数学运算符和一些统计学上需要的函数。

数学运算符

四则

幂运算

求余

整除

+, -, *, /

^ 或 **

%%

%/%

例子:

a

[1] 8 1 2

基本数学函数

绝对值:abs()

平方根:sqrt()

三角函数:sin(), cos(), tan(), acos(), asin(), atan()

对数:

log(x, base=n) 以 n 为底 x 的对数

log10(x) 以 10 为底的对数

指数:exp()

取整:

向上取整 ceiling()

向下取整 floor()

舍尾取整(绝对值减小) trunc()

四舍五入到第 N 位 round(x, digits=N)

四舍五入为有效数字共 N 位 singif(x, digits=N)

统计、概率与随机数

描述性统计等更多的统计内容,参考 “描述性统计”一文。

统计函数

常用的统计函数:

均值:mean()

中位数:median()

标准差:sd()

方差:var()

绝对中位差:mad(x, center=median(x), constant=1.4826, …),计算式:

\[\mathrm{mad}(x) = constant * \mathrm{Median}(|x - center|)\]

分位数:quantile(x, probs),例如 quantile(x, c(.3, 84%)) 返回 x 的 30% 和 84% 分位数。

极值:min() & max()

值域与极差:range(x),例如 range(c(1, 2, 3)) 结果为 c(1, 3)。极差用 diff(range(x))

差分:diff(x, lag=1)。可以用 lag 指定滞后项的个数,默认 1

标准化:scale(x, center=TRUE, scale=TRUE)。可以使用 scale(x) * SD + C 来获得标准差为 SD、均值为 C 的标准化结果。

概率函数

常用的概率分布函数:

正态分布:norm

泊松分布:pois

均匀分布:unif

Beta 分布:beta

二项分布:binom

柯西分布:cauchy

卡方分布:chisq

指数分布:exp

F 分布:f

t 分布:t

Gamma 分布:gamma

几何分布:geom

超几何分布:hyper

对数正态分布:lnorm

Logistic 分布:logis

多项分布:multinom

负二项分布:nbinom

以上各概率函数的缩写记为 abbr, 那么对应的概率函数有:

密度函数: d{abbr}(),例如对于正态就是 dnorm()

分布函数:p{abbr}()

分位数函数:q{abbr}()

生成随机数:r{abbr}(),例如常用的 runif() 生成均匀分布

例子

通过 runif() 产生 $[0, 1]$ 上的服从均匀分布的伪随机数列。通过 set.seed() 可以指定随机数种子,使得代码可以重现。不过作用域只有跟随其后的那个随机数函数。

set.seed(123)print(runif(3))

[1] 0.2875775 0.7883051 0.4089769

# 位于 1.96 左侧的标准正态分布曲线下方的面积pnorm(1.96)

0.97500210485178

# 均值为500,标准差为100 的正态分布的0.9 分位点qnorm(.9,mean=500,sd=100)

628.15515655446

# 生成 3 个均值为50,标准差为10 的正态随机数set.seed(123)print(rnorm(3,mean=50,sd=10))

[1] 44.39524 47.69823 65.58708

数据框操作

数据框是最常使用的数据类型。下面给出数据框使用中一些实用的场景,以及解决方案。

行、列操作

新建

创建一个新的列(变量)是很常见的操作。比如我们现在有数据框 df ,想要在右侧新建一个列,使其等于左侧两列的和。

df=data.frame(x1=c(1,3,5),x2=c(2,4

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值