r - 根据数据框 B 中的信息,在数据框 A 的列中填写 TRUE/FALSE
问题描述
我搜索了其他主题,但没有找到任何与我正在寻找的内容真正匹配的内容。
我的数据框:
UN_match
摘抄:
country country_code emissions sector_code year
Austria AT 65779.1172 1.AA 2005
Austria AT 62430.4336 1.AA 2006
Austria AT 59108.4180 1.AA 2007
Austria AT 58656.6719 1.AA 2008
Austria AT 55252.9922 1.AA 2009
Austria AT 58317.9570 1.AA 2010
Austria AT 55898.7344 1.AA 2011
Austria AT 53886.8242 1.AA 2012
Austria AT 53923.7578 1.AA 2013
Austria AT 50087.0000 1.AA 2014
Austria AT 51978.9609 1.AA 2015
Austria AT 52990.2305 1.AA 2016
Belgium BE 103917.1484 1.AA 2005
Belgium BE 102263.9297 1.AA 2006
Belgium BE 100104.8906 1.AA 2007
Belgium BE 99960.6328 1.AA 2008
Belgium BE 92900.2188 1.AA 2009
Belgium BE 96538.8047 1.AA 2010
Belgium BE 87202.2188 1.AA 2011
Belgium BE 86242.7656 1.AA 2012
Belgium BE 86289.1562 1.AA 2013
Belgium BE 80720.1406 1.AA 2014
Belgium BE 84283.8438 1.AA 2015
Belgium BE 84081.2031 1.AA 2016
ETS_match
country country_code value year smaller1.AA
Austria AT 16539.659 2005 0
Austria AT 15275.065 2006 0
Austria AT 14124.646 2007 0
Austria AT 14572.511 2008 0
Austria AT 12767.555 2009 0
Austria AT 15506.112 2010 0
Austria AT 15131.551 2011 0
Austria AT 13121.434 2012 0
Austria AT 8074.514 2013 0
Austria AT 6426.135 2014 0
Austria AT 7514.263 2015 0
Austria AT 7142.937 2016 0
Belgium BE 25460.856 2005 0
Belgium BE 24099.282 2006 0
Belgium BE 23706.084 2007 0
Belgium BE 23166.180 2008 0
Belgium BE 21185.552 2009 0
Belgium BE 22073.616 2010 0
Belgium BE 18950.876 2011 0
Belgium BE 17463.388 2012 0
Belgium BE 16728.267 2013 0
Belgium BE 15230.243 2014 0
Belgium BE 16053.800 2015 0
Belgium BE 15027.777 2016 0
我想根据是真还是假来添加TRUE
或添加。这应该对每一行进行。FALSE
ETS_match$smaller1.AA
ETS_match$value < UN_match$emissions
我自己用mutate
and尝试了一些东西if_else
,但没能完成。
它应该如下所示:
country country_code value year smaller1.AA
Austria AT 16539.659 2005 TRUE
Austria AT 15275.065 2006 TRUE
Austria AT 14124.646 2007 TRUE
我知道这可能是非常基本的,但我会很高兴任何形式的帮助。
最良好的祝愿,
北湖
解决方案
像这样的东西dplyr
,也许:
library(dplyr)
UN_match %>% left_join(ETS_match) %>% # join the data
mutate(smaller1.AA = value < emissions, TRUE, FALSE) %>% # add the true false
select(country, country_code, value, year, smaller1.AA) # only useful columns
But all your value
are < of emission
, so the data are rows are all TRUE
in this case.
Improved removing if_else
, thanks @Rui Barradas.
推荐阅读
- angular - Primeng 拾色器面板被切断
- google-api-javascript-client - 如何在 Google API JavaScript 中使用 KML 文件?
- node.js - 如何在电子生成器上为不同的环境使用不同的图标?
- flutter - Flutter:如何在 Linux 上使用纹理
- pandas - 熊猫日期时间,将每月日期转换为月末日期
- python-3.x - Matplotlib 图的大小
- reactjs - Using Ag grid's gridApi from multiple components
- python - Plot scatter and legends from a data frame
- javascript - 如何从获取请求中运行客户端 javascript?
- python - 将雪花表拉入数据框