我有一个数据帧(df1),如下所示 . 它表明公司在特定市场中活跃的年份 .
Company Country Year
A Austria 2010
A Germany 2010
A Austria 2011
B Italy 2010
我现在有第二个数据帧(df2),如下所示 . 它列出了某个国家/地区公司在给定时间内的所有投资,投资类型为虚拟变量 .
Company Country Year JointVenture M&A Greenfield
A Austria 2010 1 0 0
A Austria 2010 0 1 0
A Austria 2010 1 0 0
...
我现在的问题如下:我想 add a new column to df1 ,包括df2中所示的每种投资类型的 "countif" . 例如,新的df1:
Company Country Year Count.JointVenture Count.M&A Count.Greenfield
A Austria 2010 2 1 0
A Germany 2010 ...........
A Austria 2011
B Italy 2010
另外,我如何能够将新列添加到df1,将这些计数转换为虚拟变量(如果> 0则为1;如果为0则为0)?
感谢和抱歉这个基本问题,但我没有在现有的线程中找到合适的解决方案 .
干杯,马丁
3 回答
使用aggregate()和ifelse()函数
我将我的
data.table
尝试投入竞技场:结果如何
使用
dplyr::summarise_each
和merge
与Martin的数据 .编辑:用@zacdav中的输入替换
summarise
和summarise_each
并将merge
替换为full_join
以保留dplyr