my.data.frame <- subset(data , V1 > 2 | V2 < 4)
Una solución alternativa que imita el comportamiento de esta función y sería más apropiada para su inclusión dentro de un cuerpo de la función:
new.data <- data[ which(data$V1 > 2 | data$V2 < 4) , ]
Algunas personas critican el uso de which
que no necesario, pero evita que los valores NA
arrojen resultados no deseados. El equivalente (.ie no regresaba NA-filas para cualquier de NA en V1 o V2) de las dos opciones se demostró anteriormente sin la which
sería:
new.data <- data[ !is.na(data$V1 | data$V2) & (data$V1 > 2 | data$V2 < 4) , ]
Nota: Quiero dar las gracias al colaborador anónimo que intentó solucionar el error en el código inmediatamente anterior, una solución que fue rechazada por los moderadores. Hubo un error adicional que noté cuando estaba corrigiendo el primero. La cláusula condicional que comprueba los valores de NA debe ser primero si ha de ser manejado como era mi intención, ya que ...
> NA & 1
[1] NA
> 0 & NA
[1] FALSE
Orden de argumentos puede importar cuando el uso de '&".
En lugar de mostrarse irritable con preguntas "básicas" como esta, véanlas como una oportunidad para mejorar Internet. El jugo de Google de SO es fuerte, y cada vez que una pregunta de SO reemplaza a una horrenda pregunta de listserv del 2004, un ángel obtiene sus alas. – Andrew
Creo que el desprestigio de las listas de servidores es un perjuicio para las personas que buscan aprender a buscar. La gente debería considerar usar un buen motor de búsqueda para preguntas especializadas. Mi elección es http://markmail.org/search/?q=list%3Aorg.r-project pero otros pueden elegir Rseek.org. –
Creo que los comentarios despectivos que menosprecian las listas de servidores son un perjuicio para las personas que buscan leer comentarios sin menosprecio – hedgedandlevered