Sto imparando a utilizzare R (versione 3.1.2), quindi potrebbe trattarsi di una domanda noob, ma sto riscontrando problemi nell'ordinare un sottoinsieme di un frame di dati. Se utilizzo il data frame mtcars usando attach(mtcars)
, posso facilmente ordinarlo usando ord.cars <- mtcars[order(hp),]
. Il problema è che, se uso un sottoinsieme, diciamo sub.cars <- subset(mtcars, hp > 120)
e cercare di ordinare utilizzando ord.sub <- sub.cars[order(mpg),]
, il risultato è il seguente:Sottoinsieme di dati R ordinamento
mpg cyl disp hp drat wt qsec vs am gear carb
NA NA NA NA NA NA NA NA NA NA NA NA
Cadillac Fleetwood 10.4 8 472.0 205 2.93 5.250 17.98 0 0 3 4
NA.1 NA NA NA NA NA NA NA NA NA NA NA
NA.2 NA NA NA NA NA NA NA NA NA NA NA
NA.3 NA NA NA NA NA NA NA NA NA NA NA
NA.4 NA NA NA NA NA NA NA NA NA NA NA
Merc 280 19.2 6 167.6 123 3.92 3.440 18.30 1 0 4 4
Lincoln Continental 10.4 8 460.0 215 3.00 5.424 17.82 0 0 3 4
NA.5 NA NA NA NA NA NA NA NA NA NA NA
Merc 450SL 17.3 8 275.8 180 3.07 3.730 17.60 0 0 3 3
NA.6 NA NA NA NA NA NA NA NA NA NA NA
Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2
Duster 360 14.3 8 360.0 245 3.21 3.570 15.84 0 0 3 4
Merc 280C 17.8 6 167.6 123 3.92 3.440 18.90 1 0 4 4
NA.7 NA NA NA NA NA NA NA NA NA NA NA
Chrysler Imperial 14.7 8 440.0 230 3.23 5.345 17.42 0 0 3 4
Dodge Challenger 15.5 8 318.0 150 2.76 3.520 16.87 0 0 3 2
NA.8 NA NA NA NA NA NA NA NA NA NA NA
NA.9 NA NA NA NA NA NA NA NA NA NA NA
Merc 450SE 16.4 8 275.8 180 3.07 4.070 17.40 0 0 3 3
NA.10 NA NA NA NA NA NA NA NA NA NA NA
NA.11 NA NA NA NA NA NA NA NA NA NA NA
AMC Javelin 15.2 8 304.0 150 3.15 3.435 17.30 0 0 3 2
Camaro Z28 13.3 8 350.0 245 3.73 3.840 15.41 0 0 3 4
Pontiac Firebird 19.2 8 400.0 175 3.08 3.845 17.05 0 0 3 2
Ford Pantera L 15.8 8 351.0 264 4.22 3.170 14.50 0 1 5 4
Ferrari Dino 19.7 6 145.0 175 3.62 2.770 15.50 0 1 5 6
Maserati Bora 15.0 8 301.0 335 3.54 3.570 14.60 0 1 5 8
Merc 450SLC 15.2 8 275.8 180 3.07 3.780 18.00 0 0 3 3
NA.12 NA NA NA NA NA NA NA NA NA NA NA
NA.13 NA NA NA NA NA NA NA NA NA NA NA
NA.14 NA NA NA NA NA NA NA NA NA NA NA
Perché R mettendo indietro come AN tutte le righe che sono stati lasciati fuori dal sottoinsieme?
Grazie in anticipo!
Sto indovinando che questo è un problema relativo al tuo uso di 'attach()' che non è raccomandato in R. Prova il seguente: scollega il set di dati e poi usa '[' e/o '$' e se ti piace 'with()' per settare i tuoi dati: 'detach (mtcars); ord.cars <- mtcars [ordine (mtcars $ hp),]; sub.cars <- sottoinsieme (mtcars, hp> 120); ord.sub <- sub.cars [order (sub.cars $ mpg),] '. Funziona come previsto? –
@beginneR Si prega di postare che come risposta. – Thomas
Roger che, @Thomas :) –