首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用R计算多个不同列中的值

使用R计算多个不同列中的值
EN

Stack Overflow用户
提问于 2018-07-16 21:08:18
回答 1查看 47关注 0票数 0

我有一个专利数据集,其中记录了1)与专利续期相关的月份和年份,以及2)专利持有者是选择支付专利费还是让专利失效。所以

代码语言:javascript
复制
patentid        fee1date         fee1paid    fee2date    fee2paid
1               May 2010       True        May 2013    False 
2               May 2010       True        April 2014  True

我想要做的是按月和按年计算续订数量,以及放弃的专利数量,如下所示:

代码语言:javascript
复制
date      renewed              lapsed
May 2010  2                   0

我该如何计算我现在拥有的数据?谢谢!

编辑:关键点是在不同的列中聚合这些内容。我现在遇到的问题是,当我尝试使用count库时,它将2010年5月的两次续订视为两个单独的值。

EN

回答 1

Stack Overflow用户

发布于 2018-07-16 21:50:43

使用dplyr

代码语言:javascript
复制
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

数据

代码语言:javascript
复制
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)
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51362589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档