我有2个带有城市名称的列表。两个列表都包含完全相同的城市名称。我必须从这些列表中创建城市对。因此,例如,第一个列表包含伦敦,巴黎,莫斯科,日内瓦和东京之类的名称。清单2包含完全相同的名称。但是,第三个列表应包含“伦敦-巴黎”,“伦敦-东京”,“伦敦-日内瓦”等对,但不包含“东京-伦敦”或“巴黎-伦敦”对,因为这将是重复计算。在R或excel中的任何帮助将不胜感激。

我尝试在R中使用'combn'函数。但是,我有大约4500次观察,并且'combn'函数对我不起作用。

最佳答案

(您实际上并不需要第二个列表,一个就足够了)

cities  <- list("London", "Paris", "Kyiv", "Geneva", "Tokyo")

combn(cities, 2, paste, collapse = "-")

# [1] "London-Paris"  "London-Kyiv"   "London-Geneva" "London-Tokyo"  "Paris-Kyiv"
# [6] "Paris-Geneva"  "Paris-Tokyo"   "Kyiv-Geneva"   "Kyiv-Tokyo"    "Geneva-Tokyo"

10-04 21:46