Powiel możliwe:
This R reshaping should be simple, butCzy dcast może być używany bez funkcji agregującej?
dcast
z reshape2
prace bez wzoru, gdzie nie ma duplikatów. Weź te przykładowe dane:
df <- structure(list(id = c("A", "B", "C", "A", "B", "C"), cat = c("SS",
"SS", "SS", "SV", "SV", "SV"), val = c(220L, 222L, 223L, 224L,
225L, 2206L)), .Names = c("id", "cat", "val"), class = "data.frame", row.names = c(NA,
-6L))
Chciałbym dcast
tych danych i po prostu mieć wartości w tabeli, bez stosowania żadnych funkcji do value.var
tym domyślnie length
.
W tym przypadku działa poprawnie.
> dcast(df, id~cat, value.var="val")
id SS SV
1 A 220 224
2 B 222 225
3 C 223 2206
Ale gdy istnieją zduplikowane zmienne, że fun
domyślnie length
. Czy istnieje sposób, aby tego uniknąć?
df2 <- structure(list(id = c("A", "B", "C", "A", "B", "C", "C"), cat = c("SS",
"SS", "SS", "SV", "SV", "SV", "SV"), val = c(220L, 222L, 223L,
224L, 225L, 220L, 1L)), .Names = c("id", "cat", "val"), class = "data.frame", row.names = c(NA,
-7L))
> dcast(df2, id~cat, value.var="val")
Aggregation function missing: defaulting to length
id SS SV
1 A 1 1
2 B 1 1
3 C 1 2
Idealnie co szukam jest dodanie fun = NA
, jak w nie próbuj Grupowanie value.var
. Wynik Chciałbym kiedy dcasting df2:
id SS SV
1 A 220 224
2 B 222 225
3 C 223 220
4. C NA 1
Co chcesz to zrobić, gdy nie jest powielanie? – Dason
Po prostu dodaj to jako kolejny wiersz z "NA" dla brakujących wartości. – Maiasaura
@Dason Czy to jest koszerne, aby odpowiedzieć na moje własne pytanie teraz, gdy wymyśliłem rozwiązanie? Czy powinienem po prostu usunąć q? – Maiasaura