【发布时间】:2018-05-14 06:23:37
【问题描述】:
我想找到一种优雅的方法:
- 对“区域”中的每个唯一元素使用 for 循环
- 从 df1 中的每一行的“country_name”中提取多个子字符串
- 将每个区域/行的多个子字符串存储为下一步的向量或列表
- 使用 df2 为 df1 中的每个区域/行向量返回子字符串所属的唯一元素的值。
- 生成的输出将类似于 df3
我有两个数据框:
第一个data.frame:
zone = c("A", "B", "C")
country_name = c("Canada and UK", "UK and USA", "USA and Canada and UK")
df1 = data.frame(zone, country_name)
第二个data.frame:
zone_area = c("A", "A", "A", "B", "B", "B", "C", "C", "C")
country_name = c("Canada", "UK", "USA", "Canada", "UK", "USA", "Canada", "UK", "USA")
cost = c(4, 8, 6, 5, 6, 9, 8, 7, 5)
df2 = data.frame(zone_area, country_name, cost)
最终生成的 data.frame 应该看起来像 df3:
zone = c("A", "B", "C")
country_name = c("Canada and UK", "UK and USA", "USA and Canada and UK")
cost = c(12, 15, 20)
df3 = data.frame(zone, country_name, cost)
我需要使用 for 循环的原因是因为如果使用不同的 zone 值,代码应该可以工作。
感谢所有查看此问题并提供解决方法的人:)
【问题讨论】:
标签: r