Créer un vecteur numérique avec des noms dans une déclaration?
Je suis en train de définir la valeur par défaut pour un paramètre de fonction à un nommé numérique. Est-il possible d'en créer un dans un seul état? J'ai vérifié ?numérique et ?vecteur mais il ne semble pas si. Peut-être que je peux convertir/forcer une matrice ou un data.cadre et obtenir le même résultat en une seule instruction? Pour être clair, je suis en train de faire la suite d'un seul coup:
test = c( 1 , 2 )
names( test ) = c( "A" , "B" )
Vous devez vous connecter pour publier un commentaire.
La convention pour nommer les éléments du vecteur est la même qu'avec les listes:
En revanche, si vous voulais que cela soit un paramètre qui a été nommée vecteur (le genre de fonction qui permettrait de gérer les arguments fournis par
apply
):En revanche, si vous voulais que cela soit un paramètre qui a été nommé à la liste:
function(params= ...) { body }
body
et comment l'utilisernewfunc
pour obtenir les données demandées, de la structure serait utile.body
était pour indiquer qu'Il n'a pas vraiment d'importance quel dans le code de la fonction. La question était seulement sur la façon de configurer les valeurs par défaut pour la fonction paramètres.La
setNames()
fonction est faite pour cela. Comme décrit dans La Pointe De La R et?setNames
:...comme une note côté, le
structure
fonction vous permet de définir TOUS les attributs, et pas seulement les noms:Qui permettrait de produire de
Comment sur:
magrittr offre une belle et propre solution.
Vous pouvez également l'utiliser pour transformer des données.des images dans des vecteurs.
Pour élargir @joran la réponse (je ne pouvais pas obtenir ce pour formater correctement un commentaire): Si le nom de vecteur est affectée à une variable, les valeurs de A et B sont accessibles via subsetting à l'aide de la
[
fonction. Utiliser les noms de sous-ensemble le vecteur de la même manière, vous pouvez utiliser le numéro d'index de sous-ensemble: