library(ggplot2)
data(diamonds)
str(diamonds)
## 'data.frame': 53940 obs. of 10 variables:
## $ carat : num 0.23 0.21 0.23 0.29 0.31 0.24 0.24 0.26 0.22 0.23 ...
## $ cut : Ord.factor w/ 5 levels "Fair"<"Good"<..: 5 4 2 4 2 3 3 3 1 3 ...
## $ color : Ord.factor w/ 7 levels "D"<"E"<"F"<"G"<..: 2 2 2 6 7 7 6 5 2 5 ...
## $ clarity: Ord.factor w/ 8 levels "I1"<"SI2"<"SI1"<..: 2 3 5 4 2 6 7 3 4 5 ...
## $ depth : num 61.5 59.8 56.9 62.4 63.3 62.8 62.3 61.9 65.1 59.4 ...
## $ table : num 55 61 65 58 58 57 57 55 61 61 ...
## $ price : int 326 326 327 334 335 336 336 337 337 338 ...
## $ x : num 3.95 3.89 4.05 4.2 4.34 3.94 3.95 4.07 3.87 4 ...
## $ y : num 3.98 3.84 4.07 4.23 4.35 3.96 3.98 4.11 3.78 4.05 ...
## $ z : num 2.43 2.31 2.31 2.63 2.75 2.48 2.47 2.53 2.49 2.39 ...
Questo è il mio campo incrociatoCome fare un campo incrociato con due variabili categoriali, ma che lo riempia con la media della terza variabile
table(diamonds$cut,diamonds$color)
##
## D E F G H I J
## Fair 163 224 312 314 303 175 119
## Good 662 933 909 871 702 522 307
## Very Good 1513 2400 2164 2299 1824 1204 678
## Premium 1603 2337 2331 2924 2360 1428 808
## Ideal 2834 3903 3826 4884 3115 2093 896
Ma invece di ottenere i conteggi Voglio che il prezzo medio (o media (prezzo) o addirittura max (prezzo)
ho provato il pacchetto Hmisc ma mi dà i dati nel formato più ne avevo bisogno per il nel formato tabella sopra
summarize(diamonds$price,llist(diamonds$color,diamonds$clarity),max)
## diamonds$color diamonds$clarity diamonds$price
## 1 D I1 15964
## 4 D SI2 18693
## 3 D SI1 18468
## 6 D VS2 18318
## 5 D VS1 17936
## 8 D VVS2 17545
## 7 D VVS1 17932
## 2 D IF 18542
## 9 E I1 11548
## 12 E SI2 18477
## 11 E SI1 18731
## 14 E VS2 18557
## 13 E VS1 18729
## 16 E VVS2 18188
## 15 E VVS1 16256
## 10 E IF 18700
## 17 F I1 10685
## 20 F SI2 18784
## 19 F SI1 18759
## 22 F VS2 18791
## 21 F VS1 18780
## 24 F VVS2 18614
## 23 F VVS1 18777
## 18 F IF 18552
## 25 G I1 13203
## 28 G SI2 18804
## 27 G SI1 18818
## 30 G VS2 18700
## 29 G VS1 18419
## 32 G VVS2 18768
## 31 G VVS1 18445
## 26 G IF 18806
## 33 H I1 17329
## 36 H SI2 18745
## 35 H SI1 18803
## 38 H VS2 18659
## 37 H VS1 18522
## 40 H VVS2 17267
## 39 H VVS1 14603
## 34 H IF 16300
## 41 I I1 16193
## 44 I SI2 18756
## 43 I SI1 18797
## 46 I VS2 18823
## 45 I VS1 18795
## 48 I VVS2 15952
## 47 I VVS1 15654
## 42 I IF 12725
## 49 J I1 18531
## 52 J SI2 18710
## 51 J SI1 18508
## 54 J VS2 18701
## 53 J VS1 18706
## 56 J VVS2 17214
## 55 J VVS1 17891
## 50 J IF 18594
.210
o solo per divertimento xtabs '(prezzo ~ taglio + colore, diamanti)/da tavolo (diamanti $ taglio, diamanti $ colore)' –
bella risposta @akrun! – tim
@tim Grazie per i commenti – akrun