【发布时间】:2019-06-15 01:26:58
【问题描述】:
我正在尝试获得不同地区之间价格的成对差异。我的数据如下所示:
table=NULL
table$id= 1:9
table$locality= c("A", "B", "C")
table$price= rnorm(9, 444, 322)
table$concat=paste(table$id, table$locality)
final=data.frame(table)
final
id locality price concat
1 A 379.1501 1 A
2 B 792.3608 2 B
3 C 762.0627 3 C
4 A 439.0378 4 A
5 B 100.2860 5 B
6 C 830.2024 6 C
7 A 148.5925 7 A
8 B 668.3819 8 B
9 C 510.3919 9 C
我的目标是如果可能的话得到一个像这个变量的表,在我的下表中 concat 是 id:
diff_A-B | diff_A-C | diff_B-C
1A-2B | 1A-3C | 2B-3C
1A-5B | 1A-6C | 2B-6C
1A-8B | 1A-9C | 2B-9C
4A-2B | 4A-3C | 5B-3C
4A-5B | 4A-6C | 5B-6C
4A-8B | 4A-9C | 5B-9C
7A-2B | 7A-3C | 8B-3C
7A-5B | 7A-6C | 8B-6C
7A-8B | 7A-9C | 8B-9C
我试过了:
library(dplyr)
table %>%
arrange(id, locality) %>%
group_by(concat) %>%
mutate(variables=outer(price,price, "-"))
但是输出没有显示我需要的结果。
如有任何建议,我们将不胜感激。
【问题讨论】:
-
您能否更新示例以显示您想要的 diff1/2/3 的实际值?
-
好的,我更新表格