uso reshape2
.
> x <- data.frame(A = 1:5, B = 55:51)
> library(reshape2)
> melt(x)
Using as id variables
variable value
1 A 1
2 A 2
3 A 3
4 A 4
5 A 5
6 B 55
7 B 54
8 B 53
9 B 52
10 B 51
E 'stato interessante vedere i parametri. melt
stampa un messaggio per impostazione predefinita che possiamo disattivare essendo più esplicito quando si chiama una funzione.
> microbenchmark(stack(DF), melt(DF), times=100)
Unit: milliseconds
expr min lq median uq max neval
stack(DF) 122.3086 133.8435 139.6990 180.5338 250.9316 100
melt(DF) 140.0183 198.2025 227.8125 245.3444 367.1552 100
trovo la differenza piccola, e diventa più piccolo quando la stampa per melt
è spento. Sembra che la mia impressione di girare in modalità verbosa nelle mie simulazioni possa aver aiutato.
> microbenchmark(stack(DF), melt(DF, measure.vars = names(DF)[grepl("X", names(DF))]), times=100)
Unit: milliseconds
expr min lq median uq max neval
stack(DF) 94.33681 124.9958 132.1747 144.7323 287.7438 100
melt(DF, measure.vars = names(DF)[grepl("X", names(DF))]) 99.44282 141.0594 150.2625 178.8081 249.0888 100
fonte
2013-07-30 13:23:39
termini di ricerca Che cosa avete provato prima di chiedere qui? – Roland
Le parole buzz per la ricerca sono "melt", "cast", "reshape", "wide" e "long". –