En décochant une colonne par nom
Est-il un moyen pour sélectionner toutes les colonnes d'un bloc de données à l'exception d'une colonne qui a un nom particulier.
Il serait l'analogue de df[, -1]
, sauf en utilisant le nom de la colonne à la place de l'index?
- Je veux offrir des de données.la table comme une alternative à des données.cadre. Il offre de meilleures possibilités de sélection.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez faire cela en utilisant le vecteur subsetting. Tout d'abord, créez un mannequin jeu de données:
Puis utilisez le
!
opérateur pour inverser la sélection:Sinon, vous pourriez avoir:
Une version légèrement plus courte (avec l'aimable autorisation de @Tomas):
Pour faire face à plusieurs colonnes (avec l'aimable autorisation de @Tyler)
On pourrait utiliser la
which()
la fonction d'identifier la colonne à être éliminé.ou positivement
Cependant, si il n'y a pas de colonne nommée "A", vous obtiendrez un bloc de données 0 colonnes et
nrow(dd)
lignes. Donc, il serait bon de vérifier l'existence d'une colonne nommée "Un".La
subset
fonction permet déjà de ce type de syntaxe, à partir des exemples sur la page d'aide:Pour désélectionner plusieurs colonnes, vous pouvez utiliser le dplyr paquet. À titre d'exemple:
c'est une autre façon d'ailleurs ce qu' @csgillespie suggéré.
supprimer A et C
base
solutiondata.table
solution