如何在 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