Columnas no definidas seleccionadas al crear subconjuntos del marco de datos

80

Tengo un marco de datos, str(data)para mostrar más sobre mi marco de datos, el resultado es el siguiente:

> str(data)
'data.frame':   153 obs. of  6 variables:
$ Ozone  : int  41 36 12 18 NA 28 23 19 8 NA ...
$ Solar.R: int  190 118 149 313 NA NA 299 99 19 194 ...
$ Wind   : num  7.4 8 12.6 11.5 14.3 14.9 8.6 13.8 20.1 8.6 ...
$ Temp   : int  67 72 74 62 56 66 65 59 61 69 ...
$ Month  : int  5 5 5 5 5 5 5 5 5 5 ...
$ Day    : int  1 2 3 4 5 6 7 8 9 10 ...

Sin embargo, por ejemplo, cuando quiero crear un subconjunto de las cantidades de Ozone14, uso el siguiente código que me da un error:

>  data[data$Ozone > 14 ]

Error en [.data.frame(datos, datos $ Ozone> 14): columnas indefinidas seleccionadas

CreamStat
fuente
12
te falta una coma. El error le dice que no indicó qué columnas incluir en su subconjunto.
Ricardo Saporta
1
En otras palabras, recuerde que las referencias de marcos de datos necesitan identificadores de fila y columna. Puede seleccionar solo una columna o todas las columnas, pero debe indicar lo que desea.
Scott C Wilson
6
Estoy trabajando en la misma tarea, así que sé que esto es tarea. Salsa débil.
Brian MacKay

Respuestas:

154

Quieres filas donde esa condición sea verdadera, por lo que necesitas una coma:

data[data$Ozone > 14, ]
Ari B. Friedman
fuente
19
Por qué ... esta sintaxis no tiene sentido para mí
Reinderien
3
@Reinderien Es una forma común de indexar matrices. Consulte la documentación de R de la vieja escuela, que en realidad es muy buena para enseñar estructuras de datos.
Ari B. Friedman
2
Recibo todo menos la coma.
Reinderien
11
dat[ 1, 2 ]le da la entrada en la primera fila, segunda columna. dat[ 1, ]le da todas las entradas en la primera fila. dat[ 1:5, ]le ofrece todas las columnas de las filas 1-5.
Ari B. Friedman
6
Tiene 153 x 6, son dos dimensiones.
Ari B. Friedman