如何在 R 数据框列中查找最小值(不包括零或零以下的值)?
为了在 R 数据框列中查找最小值(不包括零或零以下的值),我们可以结合使用 `min` 函数和通过单个方括号对大于 0 的值进行子集选择。
例如,如果我们有一个名为 `df` 的数据框,其中包含一个名为 `X` 的列,则可以通过使用以下命令找到不包括零或零以下值的最小值:
min(df[df$X>0,1])
示例 1
以下代码片段创建一个示例数据框:
x<-rnorm(20) df1<-data.frame(x) df1
创建以下数据框:
x 1 -0.3880970 2 0.3618485 3 0.5030129 4 1.3981004 5 1.3462107 6 -1.1734200 7 -0.4259265 8 0.6943913 9 -0.4037978 10 -0.6777677 11 -1.0339321 12 0.1048411 13 0.5757606 14 1.1436323 15 -1.0120865 16 0.6414445 17 -0.6199611 18 1.3455134 19 0.7757701 20 -0.7801373
为了在 x 中排除小于 0 的值后找到最小值,请将以下代码添加到上面的代码片段中:
x<-rnorm(20) df1<-data.frame(x) min(df1[df1$x>0,1])
输出
如果您将以上所有代码片段作为一个程序执行,它将生成以下输出:
[1] 0.1048411
示例 2
以下代码片段创建一个示例数据框:
y<-rpois(20,1) df2<-data.frame(y) df2
创建以下数据框:
y 1 0 2 1 3 0 4 1 5 1 6 0 7 0 8 2 9 2 10 1 11 3 12 1 13 1 14 0 15 0 16 1 17 2 18 3 19 2 20 1
为了在 y 中排除小于 0 的值后找到最小值,请将以下代码添加到上面的代码片段中:
y<-rpois(20,1) df2<-data.frame(y) min(df2[df2$y>0,1])
输出
如果您将以上所有代码片段作为一个程序执行,它将生成以下输出:
[1] 1
示例 3
以下代码片段创建一个示例数据框:
z<-rnorm(20,1,0.5) df3<-data.frame(z) df3
创建以下数据框:
z 1 1.1018723 2 0.5307347 3 1.0830877 4 1.2370675 5 0.7851581 6 1.4266275 7 1.4885041 8 0.7601659 9 0.9276275 10 1.1924751 11 1.3655478 12 0.1325154 13 0.5545835 14 1.2137084 15 1.6315352 16 1.1455820 17 0.9393499 18 0.8205281 19 0.7663259 20 0.6274036
为了在 z 中排除小于 0 的值后找到最小值,请将以下代码添加到上面的代码片段中:
z<-rnorm(20,1,0.5) df3<-data.frame(z) min(df3[df3$z>0,1])
输出
如果您将以上所有代码片段作为一个程序执行,它将生成以下输出:
[1] 0.1325154
广告