r - 根据具有不同大小的另一个数据框在数据框上添加新列
问题描述
我在 R 中有两个数据框。
第一个如下:
Species; Camera; Records
Species A; Cam A; 3
Species B; Cam A; 1
Species A; Cam B; 2
Species B;Cam B; 8
第二个是这样的:
Camera; total records
Cam A; 450
Cam B; 210
我想在第一个 df 中添加从第二个 df 中提取的总记录列,最后得到一个表,例如:
Species; Cameras; Records; Total Records
Species A; Cam A; 3; 450
Species B; Cam A; 1; 450
Species A; Cam B; 2; 210
Species B; Cam B, 8; 210
ETC...
我不认为这很难做到,但我找不到办法。
谢谢 !
解决方案
有几种合并数据帧的方法可以完全按照您的要求进行。在这种情况下,来自 base R的merge
命令非常简单:
df <- data.frame(Species = c("SpeciesA", "SpeciesB", "SpeciesA", "SpeciesB"), Camera = c("CamA", "CamA", "CamB", "CamB"), Records = c(3, 1, 2, 8))
df2 <- data.frame(Camera = c("CamA", "CamB"), TotalRecords = c(450, 210))
merge(df, df2)
Camera Species Records TotalRecords
1 CamA SpeciesA 3 450
2 CamA SpeciesB 1 450
3 CamB SpeciesA 2 210
4 CamB SpeciesB 8 210
推荐阅读
- java - 如何将 rgba 从数组转换为十六进制?
- javascript - 将临时分配给变量时异步函数的不同行为
- r - 有没有办法找到加载数据所花费的时间
- ruby - 如果在 Ruby on Rails 中针对多个值检查值 A 的条件,该怎么办?
- reactjs - 在 React 中使用 'for' 作为道具
- scrapy - 使用 Scrapy 获取 itune 播客数据
- javascript - Materializecss + Angular Cli - 选择组件未正确下拉
- c++ - 为什么我的 .exe 文件不能无故生成?
- snowflake-cloud-data-platform - 雪花 - 计算季度的一天
- javascript - 如何创建链接/按钮以允许下载跨域图像