R 如何根据另一列中模式的条件计算数据帧中一列中的实例数?

R 如何根据另一列中模式的条件计算数据帧中一列中的实例数?,r,function,dataframe,count,R,Function,Dataframe,Count,假设这是我的数据集,我想创建一个新的dataframe,它有一个唯一的行用于每年-每月组合,一个列用于统计该日期的每个住宅实例,第三个列用于统计每个商业计数。例如,在这个数据集中 IssuedDate PermitClassMapped 1 1981-12 Commercial 2 2012-12 Residential 3 1981-05 Residential 4 1981-05

假设这是我的数据集,我想创建一个新的dataframe,它有一个唯一的行用于每年-每月组合,一个列用于统计该日期的每个住宅实例,第三个列用于统计每个商业计数。例如,在这个数据集中

      IssuedDate PermitClassMapped
    1    1981-12        Commercial
    2    2012-12       Residential
    3    1981-05       Residential
    4    1981-05       Residential
    5    1981-05        Commercial
    6    1981-05        Commercial

我一直在胡乱处理tapply、count_3;()和其他函数,但没有真正的好主意

我们可以使用
dplyr
tidyr

    Issued Date   commercial  Residential 
    1981-05        2             2  
库(dplyr)
图书馆(tidyr)
dt2%
计数(IssuedDate,PermitClassMapped)%%>%
排列(PermitClassMapped,n,填充=0)
dt2
#一个tibble:3x3
已发行商品住宅
*                   
1    1981-05          2           2
2    1981-12          1           0
3    2012-12          0           1
数据

library(dplyr)
library(tidyr)

dt2 <- dt %>%
  count(IssuedDate, PermitClassMapped) %>%
  spread(PermitClassMapped, n, fill = 0)

dt2
# A tibble: 3 x 3
  IssuedDate Commercial Residential
*      <chr>      <dbl>       <dbl>
1    1981-05          2           2
2    1981-12          1           0
3    2012-12          0           1

dt我们可以使用
dplyr
tidyr

    Issued Date   commercial  Residential 
    1981-05        2             2  
库(dplyr)
图书馆(tidyr)
dt2%
计数(IssuedDate,PermitClassMapped)%%>%
排列(PermitClassMapped,n,填充=0)
dt2
#一个tibble:3x3
已发行商品住宅
*                   
1    1981-05          2           2
2    1981-12          1           0
3    2012-12          0           1
数据

library(dplyr)
library(tidyr)

dt2 <- dt %>%
  count(IssuedDate, PermitClassMapped) %>%
  spread(PermitClassMapped, n, fill = 0)

dt2
# A tibble: 3 x 3
  IssuedDate Commercial Residential
*      <chr>      <dbl>       <dbl>
1    1981-05          2           2
2    1981-12          1           0
3    2012-12          0           1

dt我很乐意帮忙。如果这是您正在寻找的解决方案,请接受此答案。我很乐意提供帮助。如果这是您正在寻找的解决方案,请接受此答案。