Pour commencer à explorer les tables R, considérez cet exemple:
Ici, tapply () interrompt temporairement u en sous-secteurs, comme vous l'avez vu plus tôt, puis applique la fonction length () à chaque sous-vecteur. (Notez que ceci est indépendant de ce qui est dans u.) Notre attention est maintenant purement sur les facteurs.) Ces longueurs de sous-vecteurs sont les comptes des occurrences de chacune des 3 x 2 = 6 combinaisons des deux facteurs. Par exemple, 5 sont survenus deux fois avec "a" et pas du tout avec "bc"; d'où les entrées 2 et NA dans la première ligne de la sortie. En statistique, cela s'appelle un tableau de contingence.
Il y a un problème dans cet exemple: la valeur NA. Il devrait vraiment être 0, ce qui signifie que dans aucun cas le premier facteur n'a le niveau 5 et le second le niveau "bc". La fonction table () crée des tables de contingence correctement.
Il y a un problème dans cet exemple: la valeur NA. Il devrait vraiment être 0, ce qui signifie que dans aucun cas le premier facteur n'a le niveau 5 et le second le niveau "bc". La fonction table () crée des tables de contingence correctement.
1 Opérations Matrix / Array-Like sur les tables
Tout comme la plupart des opérations matricielles / matricielles (non mathématiques) peuvent être utilisées sur les trames de données, elles peuvent également être appliquées aux tables. (Cela n'est pas surprenant, étant donné que la partie de nombre de cellules d'un objet de table est un tableau.)
Par exemple, nous pouvons accéder au nombre de cellules de la table en utilisant la notation matricielle. Appliquons ceci à notre exemple de vote de la section précédente.
Tout comme la plupart des opérations matricielles / matricielles (non mathématiques) peuvent être utilisées sur les trames de données, elles peuvent également être appliquées aux tables. (Cela n'est pas surprenant, étant donné que la partie de nombre de cellules d'un objet de table est un tableau.)
Par exemple, nous pouvons accéder au nombre de cellules de la table en utilisant la notation matricielle. Appliquons ceci à notre exemple de vote de la section précédente.
Dans la deuxième commande, même si la première commande avait montré que cttab avait la classe "cttab", nous l'avons traitée comme une matrice et imprimé son "élément [1,1]". En continuant cette idée, la troisième commande imprimait la première colonne de cette "matrice".
Nous pouvons multiplier la matrice par un scalaire. Par exemple, voici comment changer le nombre de cellules en proportions:
Nous pouvons multiplier la matrice par un scalaire. Par exemple, voici comment changer le nombre de cellules en proportions:
En statistique, les valeurs marginales d'une variable sont celles obtenues lorsque cette variable est maintenue constante alors que d'autres sont additionnées. Dans l'exemple de vote, les valeurs marginales de la variable Vote.for.X sont 2 + 0 = 2, 0 + 1 = 1, et
1 + 1 = 2. On peut bien sûr les obtenir via la matrice la fonction apply ():
1 + 1 = 2. On peut bien sûr les obtenir via la matrice la fonction apply ():
Notez que les étiquettes ici, telles que Non, proviennent des noms de lignes de la matrice, dont table () produit.
Mais R fournit une fonction addmargins () à cet effet, c'est-à-dire pour trouver des totaux marginaux. Voici un exemple:
Mais R fournit une fonction addmargins () à cet effet, c'est-à-dire pour trouver des totaux marginaux. Voici un exemple:
Ici, nous avons obtenu les données marginales pour les deux dimensions à la fois, superposées conve- nablement sur la table originale.
Nous pouvons obtenir les noms des dimensions et des niveaux à travers dimnames (), comme suit:
Nous pouvons obtenir les noms des dimensions et des niveaux à travers dimnames (), comme suit: