【发布时间】:2021-12-27 19:50:10
【问题描述】:
我有一个数据框,我正在应用一个函数来使用mapply(),但我的结果没有在我想保留的初始数据框中保留某些信息。我在数据框中应用的函数未矢量化。
数据框
Dealer Cities Zip Radius in miles
A Rancho Cucamonga, CA 91730 40
A San Bernardino, CA 92401 40
B Chino, CA 91710 40
B Fontana, CA 92337 40
我正在应用一个函数来获取初始邮政编码的给定英里半径内的所有邮政编码。
remotes::install_github("EAVWing/ZipRadius")
results <- with(city_names, mapply(ZipRadius::zipRadius,
as.character(`Center Zip Code`),`Radius in miles`, SIMPLIFY =FALSE ))
结果
结果是一个包含每次调用函数zipRadius 的数据框的大列表。
期望的结果
每个数据框都包含函数使用的邮政编码和函数生成的数据,但我希望它还保留与每个初始邮政编码关联的相应“经销商”列。
例如,上面的数据框是从 zip 91730 生成的,它的 Dealer 值为 A。
DEALER ZIP Other columns generated by the function...
A 90001
A 90002
A 90011
【问题讨论】:
-
dplyr::left_join(city_names, dplyr::bind_rows(results, id ='zip1'), by = c(zip='zip1')) -
@lmonninger 不正确
-
@Onyambu 我得到一个错误,
Error: Argument 2 must have names.我认为这与dplyr::bind_rows(results, id ='zip1')id 参数试图抓取什么有关? -
抱歉应该是
.id='zip1'我忘了句号 -
这是您可以做的快速修复。你有
Zip而不是zip。写by =c(Zip = 'zip1')而不是我所拥有的