R程序:在给定向量中查找第N个最高值


2023年2月9日, Learn eTutorial
2114

如何在给定向量中访问第N个最高值

要使用R程序查找第 **n** 个最高值,我们需要将值按降序排序,现在元素将按从高到低的顺序排列。现在我们可以根据n的值轻松打印所需的最高值。

这里我们使用内置函数 **sort()**。

  • **sort()** 是一个内置函数,用于按值对向量进行排序。排序可以按升序和降序进行。默认情况下,此函数按升序排序,要按降序排序,需要设置 **decreasing=TRUE**。语法如下:

sort(x, decreasing, na.last)

  • **x:** 是要排序的向量
  • **decreasing:** 用于按降序排序
  • **na.last:** 有助于将NA放在向量的最后

如何在R程序中查找第N个最高值

在这个R程序中,我们直接将值赋给内置函数。声明一个带有值的向量 **vect**,并为用户打印原始值。从用户读取值 **n** 以查找第 **n** 个最高值。现在,调用排序函数 `sort(vect, TRUE)[n]` 以查找第 **n** 个最大元素。

例如,取一个值为 **15, 25, 35, 25, 24, 45, 47, 10** 的向量

print(paste(n,"th highest value is", sort(vect, TRUE)[n]))

在程序行中,我们对向量进行排序并打印该向量的第 **n** 个值。排序后,向量值将为 **47 45 35 25 25 24 15 10**。如果 **n=1**,则显示最高值47;如果 **n=2**,则显示第2个最高值45,依此类推。

算法

**步骤1**: 将变量 **vect** 赋值为向量值

步骤2:首先打印原始向量值

**步骤3**: 从用户读取 **n** 值以查找第 **n** 个最高值

**步骤4**: 调用函数 sort 为 **sort(vect, TRUE)[n]**,按降序排序数组并打印第 **n** 个值

R 源代码

                                          vect = c(15, 25, 35, 25, 24,45, 47, 10)
print("Original Vectors:")
print(vect)
print("Finding nth highest value in a given vector:")
n = as.integer(readline(prompt="Enter value for n "))
print(paste(n,"th highest value is", sort(vect, TRUE)[n]))
                                      

输出

 "Original Vectors:"
 15 25 35 25 24 45 47 10
 "Finding nth highest value in a given vector:"
 Enter value for n: 4
 "4 th highest value is 25"