【发布时间】:2016-02-18 23:22:02
【问题描述】:
我有一个 R 数据框,标题为 tab,如下所示:
StoreID Sales ZIP day
1 4900 55401 1/1/1993
1 3121 55401 1/2/1993
3 10021 90210 1/1/1993
3 50000 90210 1/2/1993
13 12000 12312 1/1/1993
...
唯一 StoreID 值的数量是 40,而唯一 ZIP 值的数量是 25。我基本上想要一个长度为 40 的数据帧,只有 StoreID 和邮政编码。
这基本上是我尝试过的:
ID_ZIP <- data.frame(unique(tab$StoreID))
for(i in unique(tab$StoreID)){
dat <- tab[StoreID == i]
append(unique(tab$Zip))
}
我有点卡住了。我习惯了 Python 中的键值迭代。merge 会是正确的方法吗?
编辑: 结果集:
StoreID ZIP
1 55401
3 90210
13 12312
...
【问题讨论】:
-
unique(subset(tab,select=c(StoreID,Zip)))怎么样?我不能完全确定这是否会工作/给你你想要的——可重复的例子会很好。 -
您必须首先确定您希望如何处理同一商店的多个拉链箱。你只是选择第一个吗?
-
@PierreLafortune,我认为每个商店只能在一个邮政编码中(假设 OP 指的是美国邮政编码......)
-
在一个给定的邮政编码中可以有多个商店