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
解决方案
这是一种使用match
基础 R 的方法 -
A$Doctors_Pop <- A$Doctors / B$Pop[match(A$City, B$City)]
另一种使用方式merge
-
result <- merge(A, B, by = "City", all.x = TRUE)
result$Doctors_Pop <- result$Doctors / result$Pop
推荐阅读
- visual-studio-code - 在 Visual Studio Code 上为 webpack.config.js 文件禁用 ESLint
- java - 如何在Android源码包中添加Retrofit、butterknife等外部库?
- python-3.x - 为什么 Sphinx 找不到模块'sphinxcontrib.serializinghtml'
- ionic-framework - 我添加到我的离子项目相机插件但我收到一个错误:对象不是函数
- pandas - 提高熊猫双循环的性能
- ios - 在 react native 0.60 中未从 FBSDK 中找到“React/RCTViewManager.h”文件
- xml - 用于解析小型、结构严格的 XML 文件的最快 lxml 接口
- python - Raspberry Pi Zero 上的时间跳跃
- flutter - 为什么 Streamlistener 的反应不同?
- javascript - 将分页从 `react-js-pagination` 转换为` react-bootstrap` 分页