Si deseo seleccionar un subconjunto de datos en R, puedo usar la función de subconjunto. Quería basar un análisis en datos que coincidiera con uno de los pocos criterios, p. que una determinada variable fue ya sea 1, 2 o 3. me trataronUso de criterios múltiples en la función de subconjunto y operadores lógicos
myNewDataFrame <- subset(bigfive, subset = (bigfive$bf11==(1||2||3)))
Siempre tan solo seleccione los valores que coinciden con el primero de los criterios, aquí hizo 1. Mi hipótesis era que iba a comenzar con 1 y si evalúa como "falso" pasaría a 2 y luego a 3, y si ninguno coincide con la declaración después de == es "falsa" y si una de ellas coincide, es "verdadera".
me dieron el resultado correcto usando
newDataFrame <- subset(bigfive, subset = (bigfive$bf11==c(1,2,3)))
Pero me gustaría ser capaz de seleccionar los datos a través de operadores lógicos, así que: ¿por qué el primer enfoque no funciona?
Eche un vistazo a la página de ayuda de "Logic". la forma '||' opera de izquierda a derecha y solo examina el primer elemento en el vector. '% in%' también sería un operador útil para usar en estas situaciones. una búsqueda SO para '[r]% in%' debería ser esclarecedora. – Chase
@Chase '||' y '|' son inútiles aquí: '1 || 2 || 3' y' 1 | 2 | 3' se evalúan como TRUE, por lo que el subconjunto solo incluiría aquellas donde 'bf11' era TRUE (o algo que evaluó a VERDADERO). '% in%' es más que útil aquí. –
@Gavin - gracias por terminar mi oración allí - tuvo que correr a otra reunión. – Chase