【发布时间】:2018-03-26 23:13:25
【问题描述】:
我有两个数据框:
DF1:
UNIQUE_ID City
k5WjB6MQa5Cru Skopje
k4Yq5QqXwoL4e Skopje
S9jGzT5qMZLyF Skopje
mhSHSuxic58Sf Skopje
MU7eys8NKXQog Skopje
GUBe1scNsXQog Bitola
S9jGzT5qMZLyF Kumanovo
DF2:
ADDRESS City
РАТКО МИТРОВИЌ 5 БР.29-ДРАЧЕВО Skopje
УЛ. МЕТОДИЈА ПАТЧЕВ БР.17А Skopje
УЛ ДРАЧЕВСКА 123 Skopje
УЛ.ДОМАЗЕТОВСКА БР. 24 Skopje
ДРАЧЕВО УЛ. ЈАНКО МИШИЌ БР. 3 Skopje
УЛ. ПАРТИЗАНСКИ ПАТ 2 БР. 1 Skopje
我想为 DF1 中的每个唯一 ID 分配一个随机地址。分配应满足两个标准:
- 在 DF2 中的所有唯一地址都用完之前,地址不应重复;
- 应提取相应城市的地址。
所以想要的输出应该是这样的:
New_DF
UNIQUE_ID City ADRESS
k5WjB6MQa5Cru Skopje РАТКО МИТРОВИЌ 5 БР.29-ДРАЧЕВО
k4Yq5QqXwoL4e Skopje УЛ. МЕТОДИЈА ПАТЧЕВ БР.17А
S9jGzT5qMZLyF Skopje УЛ ДРАЧЕВСКА 123
mhSHSuxic58Sf Skopje УЛ.ДОМАЗЕТОВСКА БР. 24
MU7eys8NKXQog Skopje ДРАЧЕВО УЛ. ЈАНКО МИШИЌ БР. 3
GUBe1scNsXQog Bitola NA
S9jGzT5qMZLyF Kumanovo NA
有什么想法吗?
编辑:
DF1 (dput)
dput(sk[, c(2, 3)])
structure(list(City = structure(c(12L, 12L, 12L, 12L, 12L), .Label = c("Bitola",
"Gevgelija", "Gostivar", "Kavadarci", "Kicevo", "Kocani", "Krusevo",
"Kumanovo", "Negotino", "Ohrid", "Prilep", "Skopje", "Stip",
"Struga", "Strumica", "Tetovo", "Vinica"), class = "factor"),
unique_id = 1:5), .Names = c("City", "unique_id"), class = "data.frame", row.names = c(NA,
5L))
DF2 (dput)
dput(head(sk2))
structure(list(ADDRESS = c("РАТКО МИТРОВИЌ 5 БР.29-ДРАЧЕВО",
"УЛ. МЕТОДИЈА ПАТЧЕВ БР.17А", "УЛ ДРАЧЕВСКА 123", "УЛ.ДОМАЗЕТОВСКА БР. 24",
"ДРАЧЕВО УЛ. ЈАНКО МИШИЌ БР. 3", "УЛ. ПАРТИЗАНСКИ ПАТ 2 БР. 1"
), City = c("Skopje", "Skopje", "Skopje", "Skopje", "Skopje",
"Skopje")), .Names = c("ADDRESS", "City"), row.names = c(NA,
-6L), class = c("grouped_df", "tbl_df", "tbl", "data.frame"), vars = "City", drop = TRUE, indices = list(
0:5), group_sizes = 6L, biggest_group_size = 6L, labels = structure(list(
City = "Skopje"), row.names = c(NA, -1L), class = "data.frame", vars = "City", drop = TRUE, .Names = "City"))
【问题讨论】:
-
您能
dput提供两个数据帧的样本吗?我只是在将它们放在我的机器上时遇到了一些编码问题,并且想确保在尝试此操作时不会引入另一个问题。 -
@mysteRious 刚刚用 dput 更新了 OP。