如何在max()函数中应用条件

时间:2018-04-18 13:17:20

标签: r max

我是R的新手,我有钻石数据,我正在尝试获取数据中所有类型的清晰度(8种类型)的最小和最大价格值。 为此,我必须做一个我可以通过以下条件的函数:

where clarity == Clarity_type

我们在这里看到任何解决方案或任何其他方法吗?

2 个答案:

答案 0 :(得分:1)

您可以使用aggregate

aggregate(diamonds$price, list(diamonds$clarity), function(x) c(min(x), max(x)))

  Group.1   x.1   x.2
1      I1   345 18531
2     SI2   326 18804
3     SI1   326 18818
4     VS2   334 18823
5     VS1   327 18795
6    VVS2   336 18768
7    VVS1   336 18777
8      IF   369 18806

或者更好,正如@docendodiscimus建议的那样,使用range函数:

aggregate(diamonds$price, list(diamonds$clarity), range)

答案 1 :(得分:0)

您好,您可以尝试以下方式:

min(diamonds[diamonds$clarity=="I1",]$price)
max(diamonds[diamonds$clarity=="I1",]$price)

在这种情况下,您正在寻找相对于清晰度类型" I1"的最大和最小价格,用您想要的清晰度类型更改该参数,并且您已完成。

这有用吗?