跳到主要内容

R最小值和最大值

提示
  1. R语言中查找最小值和最大值:使用min()max()函数在R中分别找到向量或数据框中的最小值和最大值。
  2. 处理NA值:在处理含有NA值的数据时,通过设置na.rm = TRUE参数,可以在计算最小值或最大值时排除NA值。
  3. 数据框中的应用:在数据框中,min()max()可以用于查找特定列的最小值和最大值,如max(dataframe$column)

在 R 中,我们可以找到向量或数据框中的最小值或最大值。

我们使用 min()max() 函数分别找到最小值和最大值。

  • min() 函数返回一个向量或数据框中的最小值。
  • max() 函数返回一个向量或数据框中的最大值。

R 中 min() 和 max() 的语法

min() 和 max() 函数的语法如下:

对于 min()

min(集合, na.rm = 布尔值)

对于 max()

max(集合, na.rm = 布尔值)

在这两个语法中,

  • 集合 - 是一个向量或数据框
  • na.rm(可选)- 是一个布尔值,指示是否应该保留或删除值,

示例 1:R 中使用 min()

numbers <- c(2, 4, 6, 8, 10)

# 返回 numbers 中的最小值
min(numbers) # 2

characters <- c("s", "a", "p", "b")

# 返回 characters 中按字母排序的最小值
min(characters) # "a"

输出

[1] 2
[1] "a"

这里,

  • min(numbers) - 返回 numbers 中的最小数字,即 2
  • min(characters) - 返回 characters 中按字母排序的最小值,即 "a"

示例 2:R 中使用 max()

numbers <- c(2, 4, 6, 8, 10)

# 返回 numbers 中的最大值
max(numbers) # 10

characters <- c("s", "a", "p", "b")

# 返回 characters 中按字母排序的最大值
max(characters) # "s"

输出

[1] 10
[1] "s"

这里,

  • max(numbers) - 返回 numbers 中的最大数字,即 10
  • max(characters) - 返回 characters 中按字母排序的最大值,即 "s"

在 R 中带有 NA 值的 min() 和 max()

在处理大型数据集时,我们可能会遇到向量中包含 NA(不适用)值的情况。

在这种情况下,如果存在 NAmin() 函数不会给出期望的输出。例如,

numbers <- c(2, NA, 6, 7, NA, 10)

# 返回最小值
min(numbers) # NA

输出

[1] NA

这里,我们得到的输出是 NA。但这不是我们想要的结果。

因此,我们可以使用 na.rm 参数来处理这个问题

numbers <- c(2, NA, 6, 7, NA, 10)

# 返回最小值
min(numbers, na.rm = TRUE) # 2

输出

[1] 2

这里,我们使用了 na.rm 参数来处理 NA 值。

通过将 na.rm 设置为 TRUE,我们在计算前移除了 NA。所以输出结果将是 2 而不是 NA

注意:与 min() 类似,我们也可以在存在 NA 值的情况下使用 max()

数据框中的 min() 和 max()

在 R 中,我们可以使用 min()max() 来找出数据框中某一列的最小值和最大值。例如,

# 创建一个数据框
dataframe1 <- data.frame (
Name = c("Juan", "Kay", "Jay", "Ray", "Aley"),
Age = c(22, 15, 19, 30, 23),
ID = c(101, 102, 103, 104, 105)
)

# 返回 dataframe1 的年龄列的最大值
print(max(dataframe1$Age)) # 30

# 返回 dataframe1 的 ID 列的最小值
print(min(dataframe1$ID)) # 101

输出

[1] 30
[1] 101

这里,我们使用了 max()min() 函数来分别找出 AgeID 列的最大值和最小值。

  • max(dataframe1$Age) - 返回 dataframe1Age 列的最大值,即 30
  • min(dataframe1$ID) - 返回 dataframe1ID 列的最小值,即 101