在 R 语言中,我们可以找到向量或数据框的最小值或最大值。
我们使用 min()
和 max()
函数分别查找最小值和最大值。
min()
函数返回向量或数据框中的最小值。max()
函数返回向量或数据框中的最大值。
R 语言中 min() 和 max() 的语法
min() 和 max() 函数的语法是
对于 min()
min(collection, na.rm = Boolean)
对于 max()
max(collection, na.rm = Boolean)
在两种语法中,
collection
- 是一个向量或数据框na.rm
(可选) - 是一个布尔值,表示值应该保留还是删除
示例 1:R 语言中 min() 的使用
numbers <- c(2,4,6,8,10)
# return minimum value present in numbers
min(numbers) # 2
characters <- c("s", "a", "p", "b")
# return alphabetically minimum value in characters
min(characters) # "a"
输出
[1] 2 [1] "a"
这里,
min(numbers)
- 返回 numbers 中最小的数字,即 2min(characters)
- 返回 characters 中按字母顺序排列的最小值,即"a"
示例 2:R 语言中 max() 的使用
numbers <- c(2,4,6,8,10)
# return largest value present in numbers
max(numbers) # 10
characters <- c("s", "a", "p", "b")
# return alphabetically maximum value in characters
max(characters) # "s"
输出
[1] 10 [1] "s"
这里,
max(numbers)
- 返回 numbers 中最大的数字,即 10max(characters)
- 返回 characters 中按字母顺序排列的最大值,即"s"
R 语言中带有 NA 值的 min() 和 max()
处理大型数据集时,我们可能会在向量中遇到 NA
(不适用)值。
在这种情况下,如果存在 NA
,min()
函数不会给出期望的输出。例如,
numbers <- c(2, NA, 6, 7, NA, 10)
# return smallest value
min(numbers) # NA
输出
[1] NA
这里,我们得到 NA
作为输出。但这并不是期望的输出。
所以我们可以使用 na.rm
参数来处理这个问题
numbers <- c(2, NA, 6, 7, NA, 10)
# return smallest value
min(numbers, na.rm = TRUE) # 2
输出
[1] 2
这里,我们使用了 na.rm
参数来处理 NA
值。
通过将 na.rm
设置为 TRUE
,我们在计算前移除了 NA
。因此,输出将是 2 而不是 NA
。
注意:与 min()
类似,我们也可以将 max()
与 NA 值一起使用。
数据框中的 min() 和 max()
在 R 语言中,我们可以使用 min()
和 max()
来查找数据框中某个列的最小值和最大值。例如,
# Create a data frame
dataframe1 <- data.frame (
Name = c("Juan", "Kay", "Jay", "Ray", "Aley"),
Age = c(22, 15, 19, 30, 23),
ID = c(101, 102, 103, 104, 105)
)
# return maximum value of Age column of dataframe1
print(max(dataframe1$Age)) # 30
# return minimum value of ID column of dataframe1
print(min(dataframe1$ID)) # 101
输出
[1] 30 [1] 101
这里,我们使用 max()
和 min()
函数分别查找 Age 和 ID 列的最大值和最小值。
max(dataframe1$Age)
- 返回 dataframe1 的 Age 列中的最大值,即 30。min(dataframe1$ID)
- 返回 dataframe1 的 ID 列中的最小值,即 101。