如何在 R 数据框中查找行最小值?


数据分析是一项困难的任务,因为它在大型项目的小目标方面存在很大差异。其中一项最小的任务可能是查找数据框中每一行中的最小值。为此,我们可以使用 apply 函数并将 FUN 参数传递为 min,以便我们可以获得最小值。

考虑以下数据框 -

示例

 在线演示

set.seed(101)
x1<-rpois(20,1)
x2<-rpois(20,2)
x3<-rpois(20,5)
df1<-data.frame(x1,x2,x3)
df1

输出

  x1 x2 x3
1 1 3 4
2 0 5 5
3 1 1 6
4 1 2 4
5 0 4 4
6 0 3 3
7 1 0 2
8 0 1 8
9 1 2 7
10 1 2 2
11 2 2 2
12 1 1 4
13 1 1 6
14 3 1 6
15 1 2 5
16 1 4 7
17 2 1 6
18 0 3 5
19 1 0 6
20 0 4 5

为每一行的最小值创建一个新的列 Min -

示例

df1$Min<-apply(df1,1,FUN=min)
df1

输出

x1 x2 x3 Min
1 1 3 4 1
2 0 5 5 0
3 1 1 6 1
4 1 2 4 1
5 0 4 4 0
6 0 3 3 0
7 1 0 2 0
8 0 1 8 0
9 1 2 7 1
10 1 2 2 1
11 2 2 2 2
12 1 1 4 1
13 1 1 6 1
14 3 1 6 1
15 1 2 5 1
16 1 4 7 1
17 2 1 6 1
18 0 3 5 0
19 1 0 6 0
20 0 4 5 0

让我们看另一个例子 -

示例

 在线演示

y1<-sample(0:9,20,replace=TRUE)
y2<-sample(0:9,20,replace=TRUE)
y3<-sample(0:9,20,replace=TRUE)
y4<-sample(0:9,20,replace=TRUE)
df2<-data.frame(y1,y2,y3,y4)
df2

输出

  y1 y2 y3 y4
1  7  2 6 1
2  9  5 4 6
3  9  7 5 0
4  6  5 0 8
5  2  4 7 1
6  1  7 9 1
7  3  2 0 4
8  3  3 3 6
9  5  9 3 7
10 4  3 1 2
11 7  1 7 8
12 5  8 2 5
13 1  0 4 2
14 5 0 7 8
15 0 2 6 5
16 7 4 4 5
17 3 5 7 9
18 5 8 1 4
19 5 0 9 1
20 3 1 3 1

为每一行的最小值创建一个新的列 Minimum -

示例

df2$Minimum<-apply(df2,1,FUN=min)
df2

输出

  y1 y2 y3 y4 Minimum
1  8  9  9  3 3
2  4  4  6  5 4
3  0  1  8  2 0
4  2  8  8  4 2
5  9  1  8  6 1
6  8  4  4  1 1
7  2  2  1  3 1
8  9  8  6  3 3
9  3  9  8  8 3
10 1  6  9  8 1
11 0  3  4  2 0
12 5  0 7 6 0
13 8  7  4 7 4
14 1  3  5 2 1
15 1  7  8 1 1
16 0  9  5 5 0
17 5  9  8 0 0
18 5  3  2 3 2
19 1  3  9 7 1
20 8  2  6 2 2

更新于: 2020年10月10日

1K+ 浏览量

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告