[英]Select rows from a dataframe based on a pattern formed by consecutive values in a column
[英]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.