簡體   English   中英

如何根據列中的值選擇數據框中的行

[英]How to select rows in a dataframe based on values in a column

我有3列的數據框“魚”。 數據幀按第1列中的值排序。我想根據第3列中的最低值選擇行。如何僅選擇這些行? 我正在嘗試通過最低的第3列值來繪制第1列中的數據。

這段代碼創建了一個數據框,並返回了我們稱為unif的列的三個最低值的行。 您已經有了數據框,因此只需要選擇要作為過濾依據的列即可。 我在哪里使用過unif ,無論您使用什么列名,都可以使用。

## create the dataframe
n = 10 
df = data.frame(round(runif(n),1), round(rnorm(n),1))
colnames(df) = c('unif', 'norm')
   unif norm
1   0.4  0.7
2   0.4  0.2
3   0.3  1.3
4   0.8 -0.4
5   0.3 -0.6
6   0.3  1.8
7   0.5 -1.0
8   0.4  0.4
9   0.0  0.2
10  0.6 -0.6

使用該數據框,我們只需要將行過濾為unif列上具有最低三個值的行即可。

## return the rows with the three lowest values 
df[order(df$unif)[(1:3],]   #### This is the part you need

將返回此結果,這是我認為您想要的:

   unif norm
7   0.5 -1.0
10  0.6 -0.6
4   0.8 -0.4

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM