我有一个专利数据集,其中记录了1)与专利更新有关的月份和年份,以及2)专利持有人是选择支付专利费还是让专利失效。所以
patentid fee1date fee1paid fee2date fee2paid
1 May 2010 True May 2013 False
2 May 2010 True April 2014 True
我想做的是按月和按年计算续展次数,以及废弃专利的数量,如下所示:
date renewed lapsed
May 2010 2 0
如何计算我现在拥有的数据?谢谢!
编辑:关键是将这些汇总到不同的列中。我现在遇到的问题是,当我尝试使用计数库时,它将2010年5月的2个续订视为两个单独的值。
答案 0 :(得分:4)
使用dplyr
require(tidyr)
require(dplyr)
data %>% gather(year,value, -Patent.ID) %>%
separate('year',c('Fee','N','Act')) %>%
spread(Act,value) %>%
unite(Fee, Fee,N, sep = '.') %>%
group_by(Date) %>%
summarise(R=sum(Paid=='True'), NotR=sum(Paid=='False'))
# A tibble: 3 x 3
Date R NotR
<chr> <int> <int>
1 April 2014 1 0
2 May 2010 2 0
3 May 2013 0 1
data <- read.table(text="
'Patent ID' 'Fee 1 Date' 'Fee 1 Paid' 'Fee 2 Date' 'Fee 2 Paid'
1 'May 2010' True 'May 2013' False
2 'May 2010' True 'April 2014' True
",header=T, stringsAsFactors = F)