当前位置: 首页 > 编程笔记 >

如何确定R数据帧列中具有最小值和最大值的行?

孙福
2023-03-14
本文向大家介绍如何确定R数据帧列中具有最小值和最大值的行?,包括了如何确定R数据帧列中具有最小值和最大值的行?的使用技巧和注意事项,需要的朋友参考一下

数据分析中,我们经常需要确定最小值和最大值,因为这些值有助于我们理解所考虑的列或变量的限制。可以通过在单个方括号中使用which.max表示最大值,并使用which.min表示最小值来提取行。

示例

请看以下数据帧-

x1<-LETTERS[1:20]
x2<-rpois(20,5)
x3<-rexp(20,2)
x4<-rexp(20,5)
df1<-data.frame(x1,x2,x3,x4)
df1

输出结果

 x1 x2     x3        x4
1 A 7 0.56888750 0.10767756
2 B 7 0.04138254 0.01507087
3 C 3 0.82145385 0.02568754
4 D 4 0.07945021 0.51976803
5 E 7 0.73930797 0.41403820
6 F 7 0.05651587 0.04107620
7 G 4 0.11206284 0.55322510
8 H 3 0.33525532 0.29126855
9 I 6 0.76841536 0.55258446
10 J 2 0.96441097 0.29656683
11 K 1 0.10678610 0.05482085
12 L 14 0.28394648 0.15006675
13 M 1 0.96666190 0.21007950
14 N 4 1.80137393 0.07231502
15 O 8 0.65978932 0.19218883
16 P 6 0.46538207 0.13262744
17 Q 4 0.15772843 0.31552748
18 R 6 0.07239103 0.38449618
19 S 7 0.46414726 0.04460063
20 T 4 0.12917123 0.76904118

确定具有特定列的最大值和最小值的行-

示例

df1[which.max(df1$x2),]

输出结果

   x1 x2     x3       x4
12 L 14 0.2839465 0.1500667

示例

df1[which.min(df1$x2),]

输出结果

   x1 x2       x3       x4
11 K  1    0.1067861 0.05482085

示例

df1[which.min(df1$x3),]

输出结果

 x1 x2       x3       x4
2 B 7    0.04138254 0.01507087

示例

df1[which.min(df1$x4),]

输出结果

  x1 x2     x3        x4
2 B  7  0.04138254 0.01507087

让我们看另一个例子-

示例

y1<-sample(1:100,20)
y2<-sample(1:10,20,replace=TRUE)
y3<-sample(20:100,20,replace=TRUE)
y4<-sample(50:100,20,replace=TRUE)
y5<-rpois(20,15)
df2<-data.frame(y1,y2,y3,y4,y5)
df2

输出结果

   y1 y2 y3 y4 y5
1  20 10 64 81 19
2 100 5  29 61 20
3  93 4  61 68 14
4  84 2  43 76 17
5  94 1  37 81 6
6  41 1 100 76 19
7  8  5 78 79 19
8  39 2 28 53 19
9  74 2 72 73 12
10 81 3 30 77 15
11 63 5 27 52 21
12 82 6 24 95 19
13 11 10 48 89 12
14 2  3 69 55 13
15 19 3 89 85 18
16 77 1 93 91 18
17 13 8 45 97 13
18 31 1 92 79 9
19 30 4 30 97 15
20 22 8 25 59 19

示例

df2[which.min(df2$y1),]

输出结果

y1 y2 y3 y4 y5
14 2 3 69 55 13

示例

df2[which.min(df2$y2),]

输出结果

  y1 y2 y3 y4 y5
5 94 1  37 81 6

示例

df2[which.max(df2$y2),]

输出结果

  y1 y2 y3 y4 y5
1 20 10 64 81 19

示例

df2[which.min(df2$y3),]

输出结果

   y1 y2 y3 y4 y5
12 82  6 24 95 19

示例

df2[which.min(df2$y5),]

输出结果

  y1 y2 y3 y4 y5
5 94 1  37 81 6
 类似资料:
  • 第一次问问题(温柔点),因为我还没有找到任何有用的东西。 在R中,我有两个数据帧。一个(DataFrameA)有一列带有唯一日期列表。另一个(DataFrameB)也有日期列表。但是DataFrameB中的某些日期在DataFrameA中可能不存在。在这种情况下,我想将DataFrameB中的日期更新为DataFrameA中的最小日期,该日期大于DataFrameB中的日期。 在SQL中,我可能会

  • 还有其他关于datatable上的行运算符的帖子。它们要么太简单,要么解决了特定的场景 我这里的问题更一般。有一个使用dplyr的解决方案。我已经尝试过了,但没有找到一个使用数据的等效解决方案。表语法。你能推荐一个优雅的数据吗。与dplyr版本复制相同结果的表解决方案? 编辑1:真实数据集上建议解决方案的基准总结(10MB,73000行,24个数字列上的统计数据)。基准结果是主观的。然而,经过的时

  • 本文向大家介绍如何找到R中向量的最小值和最大值的索引?,包括了如何找到R中向量的最小值和最大值的索引?的使用技巧和注意事项,需要的朋友参考一下 在分析项目中进行数据探索时,有时我们需要找到一些值的索引,主要是最小值和最大值的索引,以检查相应的数据行是否包含一些关键信息,或者我们可能会忽略它。此外,如果我们不想忽略它们,有时会根据数据特征将这些值转换为另一个值。 示例

  • 我想写一个程序,确定从用户收到的5个数字中最小和最大的数字,但我只设法确定了最小的,我觉得这也是错误的,我只能确定与if命令...谢谢你帮助我的朋友们

  • 问题内容: 我的代码没有给出错误,但是没有显示最小值和最大值。代码是: 我是否需要system.out.println()来显示它,否则返回应该起作用吗? 问题答案: 您正在调用方法,但不使用返回的值。

  • 这是一个非常基本的算法(不能再简单了),但我被难住了。我们有一个元素数组,我们必须确定最小值和最大值。 通常的方法是遍历数组,找出最小值和最大值,即2n比较。 稍微有效的方法是首先对数组的连续元素进行比较,以确定任意两个元素的最大值和最小值(N/2比较)。我们现在有n/2 min和n/2 max元素。现在我们可以在n/2+n/2+n/2(前一步)=3/2*n或1.5n中得到最终的max和min 那