祝大家除夕快乐啊! 一年顺利!
学习R语言书的时候,看到这么一个例子:
代码语言:javascript复制library(ggplot2)
data(diamonds)
ggplot(diamonds, aes(cut, price)) geom_boxplot()
ggplot(diamonds, aes(color, price)) geom_boxplot()
ggplot(diamonds, aes(clarity, price)) geom_boxplot()
cut
color
clarity
可以看到无论是切工、颜色还是纯净度,竟然是差的价格更高(颜色J是颜色最差,纯净度是I1最差)。
感觉很违背常识,这是为什么呢?
首先看一下钻石的重量和价格的关系:
代码语言:javascript复制ggplot(diamonds, aes(carat, price)) geom_hex(bins = 50)
carat
然后选取小于2.5(绝大部分)克拉的钻石和做对数变换可以得到:
代码语言:javascript复制library(tidyverse)
library(modelr)
diamonds2 <- diamonds %>%
filter(carat <= 2.5) %>%
mutate(lprice = log2(price), lcarat = log2(carat))
重新画图:
price
可以看到质量大的价格就高,而质量不好的钻石普遍会比较重,这就导致了看起来质量差的钻石价格高。明天将分享一下解决方案~