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

更新於:2021年11月9日

3K+ 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.