У меня есть такие данные:

Id Action timestamp
1   click    #########
1    view    #########
1    data    #########
2    click   #########
2   click    #########

Я хочу преобразовать категории в столбцы, содержащие частоту (количество), например:

id click view data
1    1    1     1
2    2    0     0 

Как мне это сделать? Спасибо!

UD1989

Ответов: 1

Ответы (1)

Вот как это можно сделать.

# create the data frame
df <- data.frame(Id=c(1,1,1,2,2), Action=c("click", "view", "data", "click", "click"))
df
#>   Id Action
#> 1  1  click
#> 2  1   view
#> 3  1   data
#> 4  2  click
#> 5  2  click

# Use reshape2::dcast
library(reshape2)
dcast(df, Id ~ Action, fun.aggregate = length)
#>   Id click data view
#> 1  1     1    1    1
#> 2  2     2    0    0

2022 WebDevInsider