Pourquoi j'obtiens une erreur de ne pas pouvoir faire une table de plus de 2^31 éléments dans la R
Bonjour, j'ai un dataframe enregistrement dans la R de dimension 8 obs 60 variables , avec les valeurs manquantes remplacées par NA et les autres valeurs étant des mots.
Lorsque j'essaie de compiler le dataframe comme ce feeds<-table(record)
j'obtiens un message d'erreur disant :
Error in table(record) : attempt to make a table with >= 2^31 elements
Quelques exemples d'éléments/de la structure de mon dataframe sont
INC - CORP Application Issue INC - CORP Issue INC - PC Software Issue
Affected User Affected User Affected User
Attachment Attachment Attachment
Description / Priority Business Critica.. Configuration Item
Knowledge Search Client ID Contact Info
NA Description / Pr.. NA
Je ne comprends pas l'erreur que les éléments dans le dataframe sont clairement pas même près de 2^31.
Merci pour votre temps.
Essayez
Le message d'erreur vous indique exactement pourquoi vous l'obtention de l'erreur.
table(data.frame(a=1:3, b=letters[1:3], c=LETTERS[1:3]))
pour voir ce qu'il se passe.Le message d'erreur vous indique exactement pourquoi vous l'obtention de l'erreur.
OriginalL'auteur Snedden27 | 2015-02-25
Vous devez vous connecter pour publier un commentaire.
ses vieux sujet, mais il pourrait aider quelqu'un d'autre, c'est pourquoi je le poster.
J'ai eu le même problème et je l'ai trouvé en ligne, solution de quelque part, je ne m'en souviens pas et cela a fonctionné parfaitement pour moi.
espérons-le, travaille pour quelqu'un qui en a besoin.
Et peut-être expliquer ce qu'il fait et comment il est différent de
table(record)
. Avec cet ajout, ce serait une très bonne réponse!vous pouvez également faire de la solution<-matrice(tableau(enregistrement)) le truc c'est que j'avais une erreur, Erreur dans la table(record) : tenter de faire un tableau avec les >= 2^31 éléments, ma première solution résoudre l'erreur il n'y a pas beaucoup de différence, tant que vous ne faites pas l'erreur.
OriginalL'auteur samet gok
Votre code actuel est d'essayer de faire un 60-dimensions de la table, en retournant le compte de chaque combinaison unique de 60 variables. Ainsi, le > 2^31 éléments erreur.
Voulez-vous
sapply(record, table)
à la saisie de chaque variable individuellement?Pouvez-vous développer votre exemple de données pour afficher les noms de colonnes et d'inclure un exemple de ce que le résultat souhaité? Je suis pas clair sur ce que vous voulez. Le
sapply
commande devrait vous donner une liste de tables, une pour chacun de vos variables, avec les fréquences des valeurs de cette variable.La ligne du haut dans l'exemple sont les noms de colonne, je pense que le tableau de la méthode n'aime pas NA dans le dataframe et il le prend comme Nulle j'ai juste envie de transformer le dataframe dans le tableau comme il est
OriginalL'auteur Sam Firke
Le principal problème est de compliquer les niveaux dans votre bloc de données. Il y a deux façons de contourner ce problème:
invoquer
droplevels
après. les données.cadre. Par exemple:flux <- droplevels(record)
Utilisation
apply
les fonctions de la famille, commesapply
quelqu'un a mentionné plus tôt. Par exemple:flux <- appliquer(dossier,1,tableau) # sortie stockés comme un objet
flux
Bonne chance.
OriginalL'auteur David C.
J'ai eu ce même problème. Ce qui a fonctionné pour moi a été de retirer les NA est comme ça
OriginalL'auteur 5tanczak