r - 如何将一个数据帧的列除以另一个数据帧的列

标签 r

我有一个数据框,其中包含巴西某些城市的医生数量(数据框 A)。我有另一个包含城市人口(全部)的数据框(数据框 B)。我怎样才能获得医生人数除以城市人口的值。请注意,B 中的城市比 A 中的城市多。

> A
 City Doctors 
 A          3
 C          4
 E          5
> B
 City     Pop 
 A          100
 B          20
 C          30
 D          40
 E          500
 F          10

我期望以下内容:

> Doc_divided_by_Pop
 City  Doctors_Pop
 A               3/100
 C               4/30
 E               5/500

最佳答案

这是一种使用基础 R 中的 match 的方法 -

A$Doctors_Pop <- A$Doctors / B$Pop[match(A$City, B$City)]

使用合并的另一种方法 -

result <- merge(A, B, by = "City", all.x = TRUE)

result$Doctors_Pop <- result$Doctors / result$Pop

关于r - 如何将一个数据帧的列除以另一个数据帧的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57680852/

相关文章:

r - 使用 Dplyr::Bind_Rows 和 Purrr 在数据框列表中选择性地绑定(bind)不同的数据框

r - 将函数应用于 R 中两个矩阵的所有列对

r - 在 dplyr::mutate 中传递公式表达式

r - 使用 xlsx 和 R 将多个数据帧写入一张 Excel 表

r - 在插入符交叉验证期间计算模型校准?

r - R 中用于文本分析的常见名字列表?

c - 解决在R中使用OpenMP时的封闭并行错误

r - 在 R 中标记单词时如何保留非字母数字符号?

r - R 中的日期格式

r - 在 R 中调用 "install.packages()"时从 Github 安装一些部件