R语言内置函数(Built-in Functions):最大值最小值、均值、中位数、分位数、数据标准化、行均值、列均值、行中位数、列中位数、中位绝对偏差、标准差、滞后差值、迭代差值等
R内置函数(Built-in Functions):最大-最小、平均-均值、中间-中位数等
目录
R语言内置函数(Built-in Functions):最大值和最小值(max and min)、平均数(average)、中位统计量(median statistics)、分位统计量(quantile statistics)、数据归一化处理(data normalization)、行平均与列平均之间的差异等
R语言内置函数(Built-in Functions)
仿真数据
在R语言中,我们应用scale函数来标准化缩放dataframe中的数据(其中 scale参数被设定为除以其标准差)。
在R语言中通过scale函数对dataframe数据进行标准化缩放,并且设置中心参数为True以及从每个列中减去均值。
R语言中,默认情况下会同时启用scale函数中的scale和center两个参数;中心化(Center)是通过减去均值来实现的;缩放(Scale)则是通过除以标准差的方式来完成的
R语言调用dplyr包中的函数对dataframe执行归一化处理。(对每个数值型数据列,先去除其均值后除以其标准差)
在R语言中采用differ函数来计算向量数据之间的差异序列。该函数用于生成一系列基于时间步长的差异,并根据指定的参数设置进行操作:其中,默认设置为lag=1且differences=1。具体来说,它会按照从前往后的顺序依次生成这些差异。
R语言通过differ函数生成向量数据的滞后差分序列(可自定义指定lag参数为2、每跳过一个观测值后生成一次差分、并跳过了一个观测值之后进行差分计算)
在R语言中运用diff函数求取向量数据的滞后差异或迭代差异(通过设定参数diffs=2实现二阶差异运算,在完成一级差异运算后继续对前一级结果中的数据逐一求取差异)按照从前往后的顺序依次推算滞后差异
R语言使用sd函数计算数据列或者向量标准差(standard deviation)
R语言采用sd函数作为计算数据列或向量标准差的标准方法、其中数据包含缺失值NA的情况
R语言通过调用sd函数来计算数据列或向量的标准差(standard deviation)。此外,在dataframe中指定某一列的数据同样可以通过sd函数来计算其标准差
仿真数据
该R语言程序调用colSums函数以求取dataframe中各列的数据总合
在R语言中采用rowSums函数来计算dataframe中的每一行数据总和值
该方法通过调用colMeans函数来求取dataframe中各列数据的平均值
R语言调用rowMeans函数获取每一行的数据均值
R语言调用rowMeans函数以及rowSums函数来计算出 dataframe 中每一行的数据平均值与总和,并将这些统计结果与原始 dataframe 进行整合
仿真数据(包含缺失NA值)
R语言采用rowMeans函数及rowSums来执行dataframe中每一行的数据平均计算与总和求取(其他相关函数也具有类似的特性)。在忽略缺失值的情况下得到的结果。当存在缺失值时的结果也会被视为缺失值。
R语言调用rowMeans函数和rowSums函数对整个数据框的所有行进行每列求平均值与总和的操作,并在处理其他数据列时同样地进行同样的运算。通过设置参数na.rm=TRUE来进行处理的结果。
R语言调用colMedians函数来求取dataframe各列数据的中位数值
该函数用于遍历每个数据行,并获取其对应的中位数值。
R语言调用quantile函数来计算整个向量数据集的百分位数值,并通过指定所需的百分位数值和结合c选项来确定具体的百分位数值。
在R语言中调用quantile函数来计算Data Vector的百分位数值;通过指定probs参数和设定seq参数来逐步生成所需范围内的百分位数值。
在R语言中,调用quantile函数来获取dataframe中特定的数据字段的百分比值,并且通过指定probs参数来确定相应的分位值
R语言调用apply函数与quantile函数来遍历整个dataframe的所有数据列并计算其百分位数值,并通过指定probs参数来进行百分位数值的计算
R语言使用dplyr包的group_by函数和summarize函数分别对每个分组数据以及所有分组数据进行百分位数计算;quantiles function用于直接计算百分位数;通过指定prob参数来实现特定百分位点的计算。
R语言使用max函数和min函数计算向量vector中的最大值和最小值
该语言通过max()与min()函数实现向量的最大元素与最小元素的获取;对于包含缺失元素NA的数据向量而言,在计算其最大元素与最小元素时需要注意什么?
R语言通过max函数和min函数来计算选定的数据字段的最大数值与最小数值
通过sapply、max及min这三个函数,在R语言中能够获取dataframe中各字段的最大值与最小值
R语言调用max()函数以及min()函数来获取数据框中的最大值与最小值
在R语言中, max函数和min函数用于获取数据框中指定两列的最大值和最小值
R语言采用max函数与min function来计算从dataframe中的指定数据行中提取最大与最小的数值
R语言使用max函数和min函数计算字符串向量中的最大值和最小值
在R语言中调用mad函数、median function和mean function来计算向量数据的中位数绝对偏差、中位数以及平均值
R语言采用mad()函数和median()函数来计算向量数据的median absolute deviation (MAD),以及mean()函数来计算均值;特别适用于处理包含缺失值的数据情况。
R语言中的mean函数用于计算向量数据的平均值;通过自定义方式设定均值计算中的trim参数;表示需要移除作为极端值的数据点所占的比例
R语言使用mean函数计算dataframe指定数据列的均值
R语言使用mad函数计算dataframe指定数据列的中位数绝对偏差
R语言使用median函数计算dataframe指定数据列的中位数
R语言使用aggregate函数和mean函数计算每个分组数据的均值
基于该方法能够有效地通过数据 aggregate 函数及其 mad 函数来计算每组数据集的中位数值离差
R语言使用aggregate函数和median函数计算每个分组数据的中位数
R语言使用boxplot函数可视化箱图、并在图形中添加中位数文本标记
R语言调用hist函数用于生成直方图;在图表上展示数据分布情况;插入中位数值的文本标注并绘制一条红色竖直线以标示中位数值
R语言内置函数(Built-in Functions)
R中几乎所有的事情都是通过函数完成的。
下表提供了其它常用的统计函数。
在R语言中,在进行数值运算时每个函数均提供了一个na.rm参数以便于在执行计算前先排除可能存在的缺失值这样可以避免由于数据缺失而导致计算结果不准确的特点如果未设置该参数则在存在缺失值的情况下进行计算时也会返回缺失值这表明该方法具有一定的鲁棒性对于处理不完整数据的情况具有较高的适用性此外统计函数的操作对象既可以是一个向量也可以是一个dataframe这种设计使得统计分析更加灵活多样并且能够适应不同规模和类型的输入数据
| Function | Description |
|---|
| mean(x, trim= 0**,
na.rm=FALSE)**| the average value of object x
trimmed version, excluding all missing observations as well as the five percent of the highest and lowest values
mx <- mean(x,trim=.05,na.rm=TRUE) |
| sd(x) | calculates the standard deviation for object x. additionally, you can explore the variance (var(x)) and median absolute deviation (mad(x)) for further statistical insights. |
|---|
| quantile(x,probs)| quantiles where x is the numeric vector whose quantiles are desired and probs is a numeric vector with probabilities in [0,1].
30th and 84th percentiles of x
y <- quantile(x, c(.3,.84)) |
| range(x) | range |
|---|---|
| diff(x, lag=1) | lagged differences, with lag indicating which lag to use |
| min(x) | minimum |
| max(x) | maximum |
| scale(x, center= TRUE**, scale=** TRUE**)** | column center or standardize a matrix. |

仿真数据
set.seed(936757)
# Create example data
data <- data.frame(x1 = runif(100),
x2 = runif(100))
head(data)
# Head of example data
# x1 x2
# 1 0.1455930 0.4151339
# 2 0.1524390 0.8134210
# 3 0.2395215 0.7935963
# 4 0.7515754 0.5283296
# 5 0.7779833 0.4289751
# 6 0.6350550 0.8990219
在R语言中使用scale函数对dataframe数据进行标准化缩放,并使scale参数除以标准差。
默认、对于每个数值数据列、减去数据列的均值并除以数据列的标准差
此处只设置scale为TRUE、所以只除以标准差
data_scale1 <- scale(data,center=FALSE, scale=TRUE)
# Apply scale function
head(data_scale1)
> data_scale1 <- scale(data,center=FALSE, scale=TRUE)
> # Apply scale function
> head(data_scale1)
x1 x2
[1,] 0.8602458 1.218835394
[2,] 0.7945331 0.674309446
[3,] 1.4646561 0.959291963
[4,] 1.3425221 0.954462719
[5,] 1.2054941 0.819773035
[6,] 1.0216729 0.006550389
>
在R语言中调用scale函数进行数据归一化处理时,默认会基于列计算并减去均值;若需自定义中心化参数,则需指定相应的设置。
默认、对于每个数值数据列、减去数据列的均值并除以数据列的标准差
此处只设置center为TRUE、所以只减去减去均值
data_scale1 <- scale(data,center=TRUE, scale=FALSE)
# Apply scale function
head(data_scale1)
> data_scale1 <- scale(data,center=TRUE, scale=FALSE)
> # Apply scale function
> head(data_scale1)
x1 x2
[1,] -0.01125990 0.20680721
[2,] -0.05247808 -0.12117007
[3,] 0.36785541 0.05047976
[4,] 0.29124705 0.04757103
[5,] 0.20529650 -0.03355487
[6,] 0.08999494 -0.52337275
>
在R语言中调用scale函数进行数据归一化处理(默认情况下同时设置scale和center参数:center参数用于均值减除,scale参数用于标准差归一化)
对于每个数值数据列、减去数据列的均值并除以数据列的标准差
data_scale1 <- scale(data)
# Apply scale function
head(data_scale1)
# Head of scaled data
# x1 x2
# [1,] -1.2764344 -0.433002745
# [2,] -1.2523528 1.058137478
# [3,] -0.9460274 0.983916110
# [4,] 0.8551967 -0.009211208
# [5,] 0.9480902 -0.381182671
# [6,] 0.4453192 1.378617326
R语言中的dplyr包用于对dataframe进行标准化缩放;具体而言,即对每个数值型的数据列先计算其均值,并将该均值从该列中减去;随后再将得到的结果除以该列的标准差.
install.packages("dplyr")
# Install & load dplyr package
library("dplyr")
data_scale2 <- data %>%
# Applying functions of dplyr
mutate_at(c("x1", "x2"), ~(scale(.) %>% as.vector))
head(data_scale2)
# Head of scaled data
# x1 x2
# 1 -1.2764344 -0.433002745
# 2 -1.2523528 1.058137478
# 3 -0.9460274 0.983916110
# 4 0.8551967 -0.009211208
# 5 0.9480902 -0.381182671
# 6 0.4453192 1.378617326
在R语言中,默认情况下,默认设置为lag=1和differences=1,并按顺序计算滞后差异;该函数用于处理向量数据的滞后差异或迭代运算。
x <- c(5, 2, 10, 1, 3)
# Create example vector
diff(x)
# Apply diff in R
# -3 8 -9 2
2 – 5 = – 3
10 – 2 = 8
1 – 10 = – 9
3 – 1 = 2
R语言调用differ函数运算向量数据的时间序列差分序列(指定时间窗参数lag为2;生成每隔一个数据点的时间序列差分序列;中间跳过了一个观测周期)
中间间隔了一个数据;
x <- c(5, 2, 10, 1, 3)
# Create example vector
diff(x, lag = 2)
# Apply diff with lag
# 5 -1 -7
5 = 10-5
-1 = 1-2
-7 = 3-10

R语言调用diff函数来处理向量数据,并支持逐期递减或累进差异的分析功能(用户可通过设定参数differences为指定整数值来选择所需运算次数)。当设定参数differences为2时,默认会首先在原始数据上进行一次一阶递减运算(即生成一阶差别序列),随后在此结果基础上继续执行后续的一阶差别运算(即再生成一次差别序列),最终得到的就是二阶迭代差别序列)。这种操作方式将按照从先到后的顺序逐步生成每个时间点上的逐期差异序列
x <- c(5, 2, 10, 1, 3)
# Create example vector
> diff(x,differences = 1)
[1] -3 8 -9 2
2 – 5 = – 3
10 – 2 = 8
1 – 10 = – 9
3 – 1 = 2
> diff(x,differences = 2)
[1] 11 -17 11
>
11 = 8- (-3)
-17 = -9 - 8
11 = 2 - (-9)
R语言使用sd函数计算数据列或者向量标准差(standard deviation)
x <- c(4, 5, 1, 8, 9, 4)
# Create example vector in R
sd(x)
# Apply sd function
# 2.926887
R语言采用sd函数来计算数据列或向量的标准偏差(standard deviation),在数据中存在缺失值NA的情况下进行处理。
x_NA <- c(x, NA)
# Create vector with NA
sd(x_NA)
# Apply sd to NA vector
# NA
sd(x_NA, na.rm = TRUE)
# Use na.rm option
#2.926887
R语言通过sd函数实现数据列或向量的标准差估算;该方法还可用于估算指定dataframe中的各变量离散程度
data(iris)
# Load iris data
head(iris)
# First 6 rows of iris data
sd(iris$Sepal.Length)
# Apply sd to column of iris
# 0.8280661
仿真数据
set.seed(1234)
# Set seed
data <- data.frame(matrix(round(runif(12, 1, 20)),
# Create example data
nrow = 3, ncol = 4))
data
# Print data to RStudio console

利用R语言的colSums函数对dataframe中的每一列进行数据求和运算,并完成对整个dataframe中各列的数据总和求取
colSums函数、rowSums函数、colMeans函数、rowMeans函数
colSums(data)
# Basic application of colSums
# X1 X2 X3 X4
# 29 43 20 36
rowSums(data)
# Basic application of rowSums
# 28 49 51
colMeans(data)
# Basic application of colMeans
# X1 X2 X3 X4
# 9.666667 14.333333 6.666667 12.000000
rowMeans(data)
# Basic application of rowMeans
# 7.00 12.25 12.75
R语言通过rowSums函数对dataframe进行行求和运算
colSums函数、rowSums函数、colMeans函数、rowMeans函数
colSums(data)
# Basic application of colSums
# X1 X2 X3 X4
# 29 43 20 36
rowSums(data)
# Basic application of rowSums
# 28 49 51
colMeans(data)
# Basic application of colMeans
# X1 X2 X3 X4
# 9.666667 14.333333 6.666667 12.000000
rowMeans(data)
# Basic application of rowMeans
# 7.00 12.25 12.75
R语言调用colMeans函数求取dataframe中的全部数据字段的平均值
colSums函数、rowSums函数、colMeans函数、rowMeans函数
colSums(data)
# Basic application of colSums
# X1 X2 X3 X4
# 29 43 20 36
rowSums(data)
# Basic application of rowSums
# 28 49 51
colMeans(data)
# Basic application of colMeans
# X1 X2 X3 X4
# 9.666667 14.333333 6.666667 12.000000
rowMeans(data)
# Basic application of rowMeans
# 7.00 12.25 12.75
在R语言环境中,利用rowMeans函数来计算该dataframe中各个数值的算术平均数
colSums函数、rowSums函数、colMeans函数、rowMeans函数
colSums(data)
# Basic application of colSums
# X1 X2 X3 X4
# 29 43 20 36
rowSums(data)
# Basic application of rowSums
# 28 49 51
colMeans(data)
# Basic application of colMeans
# X1 X2 X3 X4
# 9.666667 14.333333 6.666667 12.000000
rowMeans(data)
# Basic application of rowMeans
# 7.00 12.25 12.75
R语言通过运用rowMeans函数与rowSums获取dataframe中所有数据行的平均值与总和,并将这些统计信息整合到原始dataframe中
data_ext1 <- cbind(data,
# Add rowSums & rowMeans to data
rowSums = rowSums(data),
rowMeans = rowMeans(data))
data_ext1
# Print data to RStudio console

仿真数据(包含缺失NA值)
data_na <- as.matrix(data)
# Create example data with NA
data_na[rbinom(length(data_na), 1, 0.3) == 1] <- NA
data_na <- as.data.frame(data_na)
data_na
# Print data to RStudio console

R语言通过调用rowMeans()与rowSums()这两个函数来对dataframe中的每一行进行平均数与总和的求取操作(其中这两个函数对于各列的数据处理方式相同)。在默认情况下该方法不会对缺少数值的数据进行特别处理;如果输入矩阵中有任意一个单元格存在缺失,则输出矩阵相应位置也会记录为缺少数值。
colSums(data_na)
# colSums with NA output
# X1 X2 X3 X4
# NA NA 20 36
rowSums(data_na)
# rowSums with NA output
# NA NA 51
colMeans(data_na)
# colMeans with NA output
# X1 X2 X3 X4
# NA NA 6.666667 12.000000
rowMeans(data_na)
# rowMeans with NA output
# NA NA 12.75
在R语言中,通过调用rowMeans函数及rowSums函数来计算dataframe中每一行的数据平均值与总和(对于列相关的函数也适用),并在设置na.rm = TRUE时得到的结果
colSums(data_na, na.rm = TRUE)
# Remove NA within colSums
# X1 X2 X3 X4
# 16 30 20 36
rowSums(data_na, na.rm = TRUE)
# Remove NA within rowSums
# 15 36 51
colMeans(data_na, na.rm = TRUE)
# Remove NA within colMeans
# X1 X2 X3 X4
# 8.000000 15.000000 6.666667 12.000000
rowMeans(data_na, na.rm = TRUE)
# Remove NA within rowMeans
# 5.00 12.00 12.75
调用R语言中的colMedians函数获取dataframe各列的中位数值。通过调用该函数可获得全部列的中位数值。
colMedians函数和rowMedians函数
install.packages("robustbase")
# Install robustbase package
library("robustbase")
# Load robustbase package
data_mat <- as.matrix(data)
# Convert data.frame to matrix
colMedians(data_mat)
# No colMedians error anymore
# X1 X2 X3 X4
# 13 13 5 11
rowMedians(data_mat)
# No rowMedians error anymore
# 7.0 13.5 13.0
该段代码利用rowMedians函数获取整个dataframe各列的中位数
colMedians函数和rowMedians函数
install.packages("robustbase")
# Install robustbase package
library("robustbase")
# Load robustbase package
data_mat <- as.matrix(data)
# Convert data.frame to matrix
colMedians(data_mat)
# No colMedians error anymore
# X1 X2 X3 X4
# 13 13 5 11
rowMedians(data_mat)
# No rowMedians error anymore
# 7.0 13.5 13.0
R语言采用quantile函数来计算向量data vector中的百分位数值;通过指定probs参数以及相关选项来确定要计算的具体百分位数。
为R中的给定向量查找各种百分位数:
数据集的第n个百分位点是指在将所有数值按照从小到大的顺序排列时所确定的那个数值位置,在这个位置上的数值会被排除或分为单独的部分。
最常见的50%分位数是数据集中值的表现。其中心位置由中位数值体现。其本质特征即位于中间位置的那个数值。
分位数可用于回答以下问题:
在特定考试中获得某一特定分数的学生才能进入前10%,为了确定这一目标分数,我们需要计算所有成绩数据集中的第90百分位数。它是将所有成绩分为两部分的关键点:最低90%和最高10%。
对于某所学校的学生来说,涉及哪些学生涵盖了中间部分的学生身高?为了找出这个范围,我们确定了75th和25th百分位数这两个百分位数确定了身高中等部分的范围。
#create vector of 100 random values uniformly distributed between 0 and 500
data <- runif(100, 0, 500)
#Find the quartiles (25th, 50th, and 75th percentiles) of the vector
quantile(data, probs = c(.25, .5, .75))
# 25% 50% 75%
# 97.78961 225.07593 356.47943
#Find the deciles (10th, 20th, 30th, ..., 90th percentiles) of the vector
quantile(data, probs = seq(.1, .9, by = .1))
# 10% 20% 30% 40% 50% 60% 70% 80%
# 45.92510 87.16659 129.49574 178.27989 225.07593 300.79690 337.84393 386.36108
# 90%
#423.28070
#Find the 37th, 53rd, and 87th percentiles
quantile(data, probs = c(.37, .53, .87))
# 37% 53% 87%
#159.9561 239.8420 418.4787
R语言通过quantile函数实现向量数据vector的百分位数求取,并通过指定probs参数和seq参数来获取指定范围内的所有百分位数值
为R中的给定向量查找各种百分位数:
在将所有数据按从小到大顺序排列的过程中,在某个特定位置p(对应于n%的位置),这个位置上的数值即为该数据集的第n个百分位数。
最具代表性的一种分位数是中位数,在统计学中被定义为数据排序后位于中间位置的一个数值
分位数可用于回答以下问题:
一名学生在一次特定考试中需要达到什么分数才能排名在前10%的学生群体中?为了确定该生的成绩排名是否在前10%,我们需要计算所有成绩集合中的第90百分位数作为区分底部90%和顶部10%的关键点。
对于某所学校的学生来说,请问涵盖中间50%身高的具体数值是什么?为了确定这个数值范围,请找出该学校75%身高中最高的和25%身高中最低的两个数据点。
#create vector of 100 random values uniformly distributed between 0 and 500
data <- runif(100, 0, 500)
#Find the quartiles (25th, 50th, and 75th percentiles) of the vector
quantile(data, probs = c(.25, .5, .75))
# 25% 50% 75%
# 97.78961 225.07593 356.47943
#Find the deciles (10th, 20th, 30th, ..., 90th percentiles) of the vector
quantile(data, probs = seq(.1, .9, by = .1))
# 10% 20% 30% 40% 50% 60% 70% 80%
# 45.92510 87.16659 129.49574 178.27989 225.07593 300.79690 337.84393 386.36108
# 90%
#423.28070
#Find the 37th, 53rd, and 87th percentiles
quantile(data, probs = c(.37, .53, .87))
# 37% 53% 87%
#159.9561 239.8420 418.4787
在R语言中,我们可以通过调用quantile函数来获取dataframe中特定数据列对应的百分位数值,并通过指定probability参数(即probs)来调整所需计算的百分位数。
查找dataframe特定列的百分位数;
Data set percentiles are determined by ordering all values from smallest to largest and then identifying the value that either discards or partitions the first n percent of the ordered data.
在数据处理中,最常见的百分位数是第50百分位数;该值即为数据集合的中位数值。直观而言,则是位于数据排序后正中间的那个数字。
分位数可用于回答以下问题:
一名学生在特定科目考试中需要获得多少分数才能达到排名前十 percent 的要求?为了确定这个分数,我们需要计算所有考生分数中的第90 percent 分位数。这个分位数能够区分最低90 percent 和最高10 percent 的部分。
在某一特定学校的学生群体中,在身高方面所包含的中间部分占全体学生的50%,我们需要确定这一问题的答案。为此目的,在分析数据时我们确定了75th和25th百分位数作为中等部分的上下限。
#view first six rows of iris dataset
head(iris)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
计算分位数;
quantile(iris$Sepal.Length, probs = 0.9)
#90%
#6.9
R语言通过apply函数以及quantile函数对dataframe中的每一列数据进行百分位数值的计算,并可通过设定probs参数来完成这一过程。
我们还可以使用apply()函数同时为多个列查找百分位数;
在对数据集进行排序时,第n个百分位数是指舍弃或分离掉位于数据序列前端的n%数值的那个点。
一种主要的分位数是第50百分位数(即中位數),所谓该指标即是处于中间位置的那个數值。
分位数可用于回答以下问题:
为了确定一个学生能否在特定科目的考试中进入前10%,他或她需要达到多少分?为此问题的答案是通过计算所有考生成绩分布中的第90百分位数值来确定。
对于特定学校的学生群体来说,哪些身高属于中间50%?为了确定这一数值区间,我们需要找出75%和25%的身高值;这两个数值构成了中等身高的上下限。
#define columns we want to find percentiles for
small_iris<- iris[ , c('Sepal.Length', 'Sepal.Width', 'Petal.Length', 'Petal.Width')]
#use apply() function to find 90th percentile for every column
apply(small_iris, 2, function(x) quantile(x, probs = .9))
#Sepal.Length Sepal.Width Petal.Length Petal.Width
# 6.90 3.61 5.80 2.20
在R语言中,默认情况下,默认情况下,默认情况下。
可以使用dplyr库中的group_by()函数在R中按组查找百分位数。
该数据集中的第n百分位数即当所有数值按从小到大的顺序排列时为剔除或分开的那个数值
第50百分位数被普遍认为是最常用的一种分位数,在统计学中具有重要地位;其反映了一组数据的中点位置;直观而言即为该数据集居于中间位置的那个数值;
分位数可用于回答以下问题:
为了确定一个学生在特定考试中进入前10%所需的分数是多少?我们需要找出所有考生成绩中第90百分位数这一分割点。这个数值将所有较低端90%的成绩与较高端10%的成绩区分开来。
在某一特定学校的班级中,哪些学生的身高属于中间50%?为了找出这些人的身高范围,我们需要确定75th和25th百分位数。这两个百分位数确定了中等身高的下限和上限。
#load dplyr library
library(dplyr)
#find 90th percentile of Sepal.Length for each of the three species
iris %>%
group_by(Species) %>%
summarise(percent90 = quantile(Sepal.Length, probs = .9))
# A tibble: 3 x 2
# Species percent90
#
#1 setosa 5.41
#2 versicolor 6.7
#3 virginica 7.61
R语言使用max函数和min函数计算向量vector中的最大值和最小值
x1 <- c(4, 1, - 50, 20, 8)
# Create example vector
max(x1)
# Apply max to vector
# 20
min(x1)
# Apply min to vector
# -50
在R语言中,max函数和min函数用于找出矢量中的极大值与极小矢量。对于含有缺失数值NA的矢量,如何求取其极大与极小矢量?
x2 <- c(x1, NA)
# Create example vector with NA
x2
# Print vector to RStudio console
# 4 1 -50 20 8 NA
max(x2)
# max returns NA
# NA
min(x2)
# min also returns NA
# NA
max(x2, na.rm = TRUE)
# Specify na.rm = TRUE
# 20
min(x2, na.rm = TRUE)
# Specify na.rm = TRUE
# -50
R语言通过调用max函数和min函数来找出dataframe中指定数据列的最大与最小值
data("mtcars")
# Load mtcars data in RStudio
head(mtcars)
# First 6 rows of mtcars data frame
max(mtcars$mpg)
# Compute max of column mpg
# 33.9
min(mtcars$mpg)
# Compute max of column mpg
# 10.4
在R语言中采用sapply函数配合max和min这两个内置函数来获取dataframe中各列的最大值与最小值。
sapply(mtcars, max)
# Compute max of all columns
# mpg cyl disp hp drat wt qsec vs am gear carb
# 33.900 8.000 472.000 335.000 4.930 5.424 22.900 1.000 1.000 5.000 8.000
在R语言中,默认情况下会调用max()与min()函数来获取dataframe对象中的最大值与最小值
max(mtcars)
# Apply max algorithm to whole data.frame
# 472
min(mtcars)
# Apply min algorithm to whole data.frame
# 0
R语言通过调用maximum value function和minimum value function来获取dataframe中这两列的最大数值与最小数值
max(c(mtcars$mpg, mtcars$cyl))
# Max between two columns / vectors
# 33.9
min(c(mtcars$mpg, mtcars$cyl))
# Min between two columns / vectors
# 4
R语言通过max函数和min函数求取特定的数据行中的最大值与最小值。
max(mtcars[5,])
# Compute max of one row
# 360
min(mtcars[5,])
# Compute min of one row
# 0
R语言使用max函数和min函数计算字符串向量中的最大值和最小值
x_char <- c("hello",
# Create character vector
"R is nice",
"max and min functions are awesome",
"aaaaaa")
max(x_char)
# Apply max to character vector
# "R is nice"
min(x_char)
# Apply min to character vector
# aaaaaa
R语言采用mad函数、median函数和mean函数分别求取向量数据的中位数绝对偏差、中位数以及均值
x <- c(3, 4, 1, 8, 2, 5, 2, 1)
# Create example vector
mad(x)
# Apply mad function in R
# 2.2239
median(x1)
# Apply median function
mean(x1)
# Apply mean function in R
R语言通过mad函数、median函数及mean函数来实现对向量数据进行中位数绝对偏差的计算,并分别得到中位数及算术平均值;对于含有缺失值的数据集而言,则会自动忽略这些缺失值进行运算
x2 <- c(8, 5, 3, 7, 8, 1, 6, 5, NA)
# Example vector with NA
median(x2)
# Apply median function
# NA
median(x2, na.rm = TRUE)
# median function with na.rm
# 5.5
R语言通过调用mean函数来计算向量数据集的平均值;允许用户根据需求自定义trim参数以调节平均值计算中剔除异常数据的比例;该功能表明在求平均时需先剔除超出预设比例的数据点
x1 <- c(8, 6, 8, 3, 5, 2, 0, 5)
# Create example vector
> mean(x1, trim = 0.2)
[1] 4.833333
> mean(x1)
[1] 4.625
>
R语言使用mean函数计算dataframe指定数据列的均值
data(iris)
# Load iris data
head(iris)
# Head of iris data
mean(iris$Sepal.Length)
# mean of first column
#
R语言使用mad函数计算dataframe指定数据列的中位数绝对偏差
data(iris)
# Load iris data
head(iris)
# Head of iris data
mad(iris$Sepal.Length)
# mean of first column
#
R语言使用median函数计算dataframe指定数据列的中位数
data(iris)
# Load iris data
head(iris)
# Head of iris data
median(iris$Sepal.Length)
# Median of first column
# 5.8
R语言使用aggregate函数和mean函数计算每个分组数据的均值
aggregate(iris$Sepal.Length,
# Median by group
list(iris$Species),
mean)
# Group.1 x
# setosa 5.0
# versicolor 5.9
# virginica 6.5
R语言调用aggregate函数用于求取每个分组数据的中位数,并结合mad函数获取这些中位数的绝对偏差
aggregate(iris$Sepal.Length,
# Median by group
list(iris$Species),
mad)
# Group.1 x
# setosa 5.0
# versicolor 5.9
# virginica 6.5
R语言使用aggregate函数和median函数计算每个分组数据的中位数
aggregate(iris$Sepal.Length,
# Median by group
list(iris$Species),
median)
# Group.1 x
# setosa 5.0
# versicolor 5.9
# virginica 6.5
R语言使用boxplot函数可视化箱图、并在图形中添加中位数文本标记
set.seed(1717)
# Set seed
x3 <- rpois(1000, 3)
# Create larger example vector
boxplot(x3)
# Boxplot with median
text(x = 1, y = 3.25,
# Add text to boxplot
"Median of x3",
col = "red")

R语言调用hist函数生成直方图,并在图表上标注出表示中位数值的文本标签;随后,在图表上绘制一条红色垂直线条以直观标示中位数的位置
hist(x3)
# Histogram in R
abline(v = median(x3),
# Add median to histogram
col = "red",
lwd = 3)

安利一个R语言的优秀博主及其专栏:
博主的R语言专栏地址如下:(深入浅出地讲解了从入门到机器学习的过程,并系统性地分享了超过一千篇文章)
参考:R
