如果R语言数据框列中存在无穷大值,如何查找该列的极值?
查找数值型数据框列的极值可以使用`min`和`max`函数,但如果想在一行代码中完成,可以使用`range`函数。如果列中存在无穷大值,则可以使用`range.default`函数,如下例所示。
示例
考虑以下数据框:
set.seed(214) x1<−sample(c(1,5,Inf,10),20,replace=TRUE) x2<−rpois(20,5) df1<−data.frame(x1,x2) df1
输出
x1 x2 1 Inf 0 2 10 5 3 1 3 4 10 7 5 10 3 6 5 5 7 1 4 8 Inf 2 9 10 3 10 Inf 9 11 1 4 12 Inf 3 13 5 3 14 5 5 15 1 6 16 Inf 1 17 10 6 18 Inf 3 19 10 4 20 10 8
查找x1列的极值:
示例
range.default(df1$x1,finite=TRUE)
输出
[1] 1 10
示例2
y1<−rnorm(20,5,2.3) y2<−sample(c(Inf,rnorm(5,2)),20,replace=TRUE) df2<−data.frame(y1,y2) df2
输出
y1 y2 1 5.711206 2.367679 2 3.891755 2.367679 3 8.345217 1.529547 4 4.316907 1.888925 5 5.945366 Inf 6 8.204934 1.888925 7 9.634025 Inf 8 5.096354 Inf 9 8.186749 2.367679 10 6.808151 Inf 11 6.310553 2.586410 12 5.207341 2.586410 13 4.190045 1.888925 14 6.570371 Inf 15 1.553658 2.367679 16 5.869204 2.367679 17 7.211524 2.586410 18 7.517553 1.888925 19 7.224195 3.003426 20 4.105865 1.888925
查找x1列的极值:
示例
range.default(df2$y2,finite=TRUE)
输出
[1] 1.529547 3.003426
广告