在数据分析中,我们经常需要确定最小值和最大值,因为这些值有助于我们理解所考虑的列或变量的限制。可以通过在单个方括号中使用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 那