【发布时间】:2018-07-02 11:57:21
【问题描述】:
我有一个数据框如下:
d <- data.frame(
shop=c('A','A','A','A','A','B','B','B','C','C','C','C','D','E','E'),
product=c(1:5,1:3,1:4,1,1:2),
price=c(16.83, 12.21, 9.99, 3.99, 1.00,
19.50, 6.42, 1.89,
13.95, 12.50, 7.87, 0.79,
11.99,
22.80, 15.99) )
数据代表商店持有的产品价格,每个商店内的产品以相反的价格顺序编号。我想发现关于商店中最昂贵产品的各种信息(例如,平均值、分布、最高价格),以及关于最便宜的类似信息。考虑到这一点,我想重新调整产品编号,以便在所有商店中,最贵的编号为 1,最便宜的编号为 10(小数产品编号就可以了)。
我知道的事情:
- 如何使用最大值缩放单个产品编号向量 和最小值
- 如何获取店铺最大产品编号:
aggregate(d[, 2], list(d$shop), max)
但我不知道如何将这些部分组合在一起,例如,C 商店的产品编号从最贵到最便宜是c(1,4,7,10)。
【问题讨论】:
-
请说明你是如何到达
c(1,4,7,10)的 C 以及你如何定义 #1 的规模。 -
正如我在 OP 中所说,我并不是要重新调整价格 --- 如下面的误用答案所示。我正在尝试重新调整产品编号。在 1:10 范围内重新调整四个数字 1:4 会在数字之间产生 3 的相等间隙 ... c(1, 4, 7, 10)。当然,很容易对@misuse answer 进行所需的细微更改。
-
看来我的问题是重复的。我没有意识到。 stackoverflow.com/questions/41761018/…