我是R的新手,我有钻石数据,我正在尝试获取数据中所有类型的清晰度(8种类型)的最小和最大价格值。 为此,我必须做一个我可以通过以下条件的函数:
where clarity == Clarity_type
我们在这里看到任何解决方案或任何其他方法吗?
答案 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"的最大和最小价格,用您想要的清晰度类型更改该参数,并且您已完成。
这有用吗?