> library(data.table)
> A <- data.table(x = c(1,1,2,2), y = c(1,2,1,2), v = c(0.1,0.2,0.3,0.4))
> A
x y v
1: 1 1 0.1
2: 1 2 0.2
3: 2 1 0.3
4: 2 2 0.4
> B <- dcast(A, x~y)
Using v as value column: use value.var to override.
> B
x 1 2
1 1 0.1 0.2
2 2 0.3 0.4
Wygląda na to, że mogę przekształcić tabelę data.table z długiej na szeroką za pomocą f.x. dcast pakietu reshape2. Ale data.table przychodzi wraz z przeciążonym operatorem-uchwytem oferującym parametry takie jak "by" i "grupa", które sprawiają, że zastanawiam się, czy można to osiągnąć za pomocą tego (do konkretnej funkcji data.table)?Przekształcanie długiej struktury danych.tabeli w szeroką strukturę za pomocą funkcji data.table?
Tylko jeden losowy przykład z podręcznika:
DT[,lapply(.SD,sum),by=x]
To wygląda super - ale nie w pełni zrozumieć jeszcze wykorzystanie.
Ja ani nie znalazłem na to sposobu, ani przykładu, więc może to po prostu niemożliwe, może nawet nie powinno tak być - tak, zdecydowane "nie, nie jest możliwe, ponieważ ..." jest oczywiście również poprawna odpowiedź.
Zobacz [tutaj] (http://stackoverflow.com/questions/15510566/nested-if-else-statements-over-a-umber-of-columns/15511689?noredirect=1#comment21968080_15511689). – Metrics
Niestety, nie rozumiem, w jaki sposób ma to związek z moim pytaniem. Należy również pamiętać, że kategorie kolumn B są dynamicznie zależne od A, więc liczba wartości "y" może różnić się w zależności od przypadku. – Raffael