0

I have the following dt

set.seed(12048)
CC <- c("A", "A", "A", "B", "B", "C", "A", "B")
PO <- c("PO1", "PO2", "PO3", "PO4", "PO5", "PO6", "PO7", "PO8")
Rating <- c(1, 3, 3, 2, 4, 2, 1, 2)
dt <- data.table(CC, PO, Rating)

This shows up like so:

   CC  PO Rating
1:  A PO1      1
2:  A PO2      3
3:  A PO3      3
4:  B PO4      2
5:  B PO5      4
6:  C PO6      2
7:  A PO7      1
8:  B PO8      2

My intention is to have a table like so:

   dept Rating1 Rating2 Rating3 Rating4
1:    A       2       0       2       0 
2:    B       0       2       0       1
3:    C       0       1       0       0

I know about 'melt' family of functions, but is there a Data table way of doing this?

I am trying something around this but apparently it is not correct.

dt[,.(.N,Rating1=nrow(Rating==1),Rating2=nrow(Rating==2),Rating3=nrow(Rating==3),Rating4=nrow(Rating==4)), by=.(CC, Rating)]

Any help is appreciated

user3701522
  • 307
  • 3
  • 12

0 Answers0