gpt4 book ai didi

r - 如何在R中对data.frame进行排序和过滤?

转载 作者:行者123 更新时间:2023-12-02 03:25:18 25 4
gpt4 key购买 nike

我了解如何对数据框进行排序:

df[顺序(df$高度),]

并且我了解如何过滤(或子集)匹配某些谓词的数据帧:

df[df$权重 > 120,]

但是如何对过滤器进行排序(例如,按高度排序并按重量过滤)?

最佳答案

分两步

 df1 <- df[df$weight > 120, ]
df2 <- df1[order(df1$height), ]

或者如果你必须一步到位——但它确实没有任何干净。

数据优先:

R> set.seed(42)
R> df <- data.frame(weight=rnorm(10, 120, 10), height=rnorm(10, 160, 20))
R> df
weight height
1 133.7 186.1
2 114.4 205.7
3 123.6 132.2
4 126.3 154.4
5 124.0 157.3
6 118.9 172.7
7 135.1 154.3
8 119.1 106.9
9 140.2 111.2
10 119.4 186.4

一种方法是双重子集化:

R> subset(df, weight > 120)[order(subset(df, weight > 120)$height),]
weight height
9 140.2 111.2
3 123.6 132.2
7 135.1 154.3
4 126.3 154.4
5 124.0 157.3
1 133.7 186.1
R>

我会分两步走。

关于r - 如何在R中对data.frame进行排序和过滤?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9730967/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com