如何解决根据另一个具有不同大小的数据框在数据框上添加新列
我在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
等...
我认为这并不难,但我找不到办法。
谢谢!
解决方法
有几种合并数据框的方法可以完全满足您的要求。在这种情况下,来自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",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
,
您可以使用{R}函数或基数R中的dplyr::left_join
函数。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。