R 如何遍历重复的数据集以获得每月总数?

R 如何遍历重复的数据集以获得每月总数?,r,count,counter,R,Count,Counter,我将如何迭代R中的数据帧,以根据日期(任意顺序和数量)获得每个变量的总量 填充另一个包含 Date Var A Var B Var C 2019-01-1 3 1 0 2019-02-1 3 1 0 2019-03-1 1 1 1 我们得到“日期”、“变量

我将如何迭代R中的数据帧,以根据日期(任意顺序和数量)获得每个变量的总量

填充另一个包含

Date         Var A          Var B            Var C
2019-01-1    3              1                0
2019-02-1    3              1                0
2019-03-1    1              1                1

我们得到“日期”、“变量”的
count
,并使用
pivot\u wide

library(dplyr)
library(tidyr) #1.0.0
library(stringr)
df1 %>% 
   count(Date, Var = str_c('Var_', Var)) %>% 
   pivot_wider(names_from = Var, values_from = n, values_fill = list(n = 0))
# A tibble: 3 x 4
#  Date      Var_A Var_B Var_C
#  <chr>     <int> <int> <int>
#1 2019-01-1     3     1     0
#2 2019-02-1     3     1     0
#3 2019-03-1     1     1     1
数据
df1我们得到了'Date'、'Var'的
count
,并使用
pivot\u wide将其从'long'重塑为'wide'

library(dplyr)
library(tidyr) #1.0.0
library(stringr)
df1 %>% 
   count(Date, Var = str_c('Var_', Var)) %>% 
   pivot_wider(names_from = Var, values_from = n, values_fill = list(n = 0))
# A tibble: 3 x 4
#  Date      Var_A Var_B Var_C
#  <chr>     <int> <int> <int>
#1 2019-01-1     3     1     0
#2 2019-02-1     3     1     0
#3 2019-03-1     1     1     1
数据
df1这是data.table中的一个简单单行程序

library(data.table)
dcast( DT, Date ~ Var)

#         Date A B C
# 1: 2019-01-1 3 1 0
# 2: 2019-02-1 3 1 0
# 3: 2019-03-1 1 1 1
样本数据

DT <- data.table::fread("Date          Var
2019-03-1    A    
2019-01-1    A
2019-03-1    B
2019-02-1    A
2019-01-1    A
2019-01-1    B
2019-02-1    A
2019-02-1    A
2019-02-1    B
2019-01-1    A
2019-03-1    C")

DT这是data.table中的一条简单的单行线

library(data.table)
dcast( DT, Date ~ Var)

#         Date A B C
# 1: 2019-01-1 3 1 0
# 2: 2019-02-1 3 1 0
# 3: 2019-03-1 1 1 1
样本数据

DT <- data.table::fread("Date          Var
2019-03-1    A    
2019-01-1    A
2019-03-1    B
2019-02-1    A
2019-01-1    A
2019-01-1    B
2019-02-1    A
2019-02-1    A
2019-02-1    B
2019-01-1    A
2019-03-1    C")

DT您尝试了什么?你在哪里被卡住了?你试了什么?你在哪里被卡住了?