Comment extraire une trame de données d'une autre trame de données dans R

Ernesto Riveros Barrientos

Je travaillais avec un df consolidé et l'utilisais summarise(n = count(var))pour comprendre les doublons. Ensuite, j'ai obtenu cet appel d'objet x:

      n.x         n.freq
1 001121011522      1
2 001121711014      1
3 001121711015      1
4 001121711722      1
5 001121711723      1
6 001131811722      1

Je sais qu'il n.freqva de 1 à 6, donc je veux saisir uniquement ceux qui sont supérieurs ou égaux à 2:

y <- x %>% filter(n$freq >= 2)

Mais j'ai ceci :

Error: Column `n` must be a 1d atomic vector or a list
Call `rlang::last_error()` to see a backtrace

J'ai donc vérifié sa structure et j'ai obtenu ceci:

    > str(x)
'data.frame':   485843 obs. of  1 variable:
 $ n:'data.frame':  485843 obs. of  2 variables:
  ..$ x   : Factor w/ 485843 levels "001121011522",..: 1 2 3 4 5 6 7 8 9 10 ...
  ..$ freq: int  1 1 1 1 1 1 1 1 1 1 ...

Il semble donc qu'il y ait un df à l'intérieur d'un autre comme je peux le comprendre. Je veux savoir comment extraire le deuxième (intérieur) df pour l'utiliser.

[MISE À JOUR] : en utilisant dput(head(x, 20))j'ai obtenu :

"ABC253478", "ABC983659", "ABC654911", "ABC882310", 
..... # there were at least 100 rows of results
"ABC665892", "ABC441276", "ABC906138", "ABC679967"
), class = "factor"), freq = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L)), row.names = c(NA, 
20L), class = "data.frame")), row.names = c(NA, 20L), class = "data.frame")
r2evans

Il a obtenu d'être quelque chose Amuck avec ces données ... mais nous allons voir si je peux essayer de reproduire est suffisamment. (Au départ : pas parfaitement, mais nous n'avons pas encore assez d'informations pour être en mesure d'améliorer autant.)

Quelques exemples de données, écrits manuellement pour se moquer de ce que je pense que vos lignes manquantes sont :

x <- structure(
  list(n = structure(
    list(x = structure(c(3L, 7L, 6L, 2L, 10L, 9L, 1L, 8L, 4L, 5L),
                       .Label = c("112916", "116806", "118489", "146802", "154999",
                                  "157333", "170238", "183345", "194348", "194384"),
                       class = "factor"),
         freq = c(2L, 1L, 3L, 1L, 2L, 3L, 3L, 1L, 2L, 1L)),
    class = "data.frame", row.names = c(NA, -10L) ) ),
  class = "data.frame", row.names = c(NA, -10L)
)
str(x)
# 'data.frame': 10 obs. of  1 variable:
#  $ n:'data.frame':    10 obs. of  2 variables:
#   ..$ x   : Factor w/ 10 levels "112916","116806",..: 3 7 6 2 10 9 1 8 4 5
#   ..$ freq: int  2 1 3 1 2 3 3 1 2 1

Cela ne reproduit pas votre erreur :

str( x %>% filter(n$freq >= 2) )
# 'data.frame': 6 obs. of  1 variable:
#  $ n:'data.frame':    6 obs. of  2 variables:
#   ..$ x   : Factor w/ 10 levels "112916","116806",..: 3 6 10 9 1 4
#   ..$ freq: int  2 3 2 3 3 2

Peut-être que cela fonctionnera pour vous à la place ?

str( subset(x, n$freq >= 2) )
# 'data.frame': 6 obs. of  1 variable:
#  $ n:'data.frame':    6 obs. of  2 variables:
#   ..$ x   : Factor w/ 10 levels "112916","116806",..: 3 6 10 9 1 4
#   ..$ freq: int  2 3 2 3 3 2

Malheureusement, cela peut fonctionner pour vous, mais a pour effet d'aplatir la base de données (sans intention) :

str( x[ x$n$freq >= 2, ] )
# 'data.frame': 6 obs. of  2 variables:
#  $ x   : Factor w/ 10 levels "112916","116806",..: 3 6 10 9 1 4
#  $ freq: int  2 3 2 3 3 2

Il apparaît que ce cadre imbriqué est assez simple à démêler :

str( x[[1]] )
# 'data.frame': 10 obs. of  2 variables:
#  $ x   : Factor w/ 10 levels "112916","116806",..: 3 7 6 2 10 9 1 8 4 5
#  $ freq: int  2 1 3 1 2 3 3 1 2 1

Essayons donc de remplacer le cadre imbriqué par un cadre "normal":

xflat <- x[[1]]
str( filter(xflat, freq >= 2) )
# 'data.frame': 6 obs. of  2 variables:
#  $ x   : Factor w/ 10 levels "112916","116806",..: 3 6 10 9 1 4
#  $ freq: int  2 3 2 3 3 2
str( subset(xflat, freq >= 2) )
# 'data.frame': 6 obs. of  2 variables:
#  $ x   : Factor w/ 10 levels "112916","116806",..: 3 6 10 9 1 4
#  $ freq: int  2 3 2 3 3 2
str( xflat[ xflat$freq >= 2, ] )
# 'data.frame': 6 obs. of  2 variables:
#  $ x   : Factor w/ 10 levels "112916","116806",..: 3 6 10 9 1 4
#  $ freq: int  2 3 2 3 3 2

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

Comment extraire des données d'une trame de données et les joindre à une autre trame de données

Comment aplatir une variable de trame de données à partir d'une autre trame de données dans R

R: Extraire conditionnellement les données d'une trame de données à une autre

Comment extraire des valeurs dans une diagonale d'une trame de données dans R?

Comment extraire des valeurs uniques d'une trame de données dans r

Comment extraire les valeurs de colonne d'une trame de données à une autre ?

Comment utiliser les valeurs d'une trame de données pour informer une fonction de sommation dans une autre trame de données dans R?

Tranche d'une trame de données dans une autre trame de données

Copier des parties d'une trame de données dans une autre trame de données

Ajouter de la valeur d'une trame de données à une autre trame de données dans R

Comment extraire des données d'un objet Tweepy dans une trame de données pandas?

Comment indexer dans une trame de données en utilisant les indices d'une autre trame de données ?

Comment créer une colonne dans une trame de données calculée à partir d'une autre trame de données dans R?

Comment faire des calculs sur une colonne d'une trame de données en utilisant des valeurs contenues dans une autre trame de données dans R ?

Comment soustraire un enregistrement d'une autre trame de données dans R

Comment extraire certaines valeurs d'une ligne satisfaisant une condition dans une trame de données ?

Comment combiner des données d'une autre trame de données en appelant des noms de colonnes dans r

Ajouter des lignes manquantes à la trame de données à partir d'une autre trame de données dans R

Extraire des données d'une trame de données

extraire le contenu d'une colonne dans une liste de trame de données R

Comment extraire les valeurs d'index d'une liste et les remplacer dans une autre trame de données R spécifique?

Définir un groupe de quantiles dans une trame de données avec la source de données dans une autre trame de données dans R

Comment extraire la partie médiane d'une chaîne dans une trame de données dans R?

Comment extraire les occurrences d'une chaîne dans une trame de données ?

Comment écraser des données dans une ligne d'une trame de données avec une tranche d'une autre

Comment puis-je extraire une plage d'heures spécifique d'une trame de données dans R

Comment extraire des informations de matrice symétrique dans une trame de données dans R

Essayer d'extraire des codes postaux d'une trame de données dans une autre trame de données d'adresses

R Extraire les deux premiers caractères d'une colonne dans une trame de données

TOP liste

  1. 1

    Microsoft.WebApplication.targets

  2. 2

    Exporter la table de l'arborescence vers CSV avec mise en forme

  3. 3

    Spring @RequestParam DateTime format comme ISO 8601 Date Heure facultative

  4. 4

    Comment analyser un hachage Ruby plat en un hachage imbriqué?

  5. 5

    Passer la taille d'un tableau 2D à une fonction ?

  6. 6

    Comment créer une nouvelle application dans Dropbox avec des autorisations complètes

  7. 7

    Algorithme: diviser de manière optimale une chaîne en 3 sous-chaînes

  8. 8

    Laravel SQLSTATE [HY000] [1049] Base de données inconnue 'previous_db_name'

  9. 9

    comment supprimer "compte de connexion google" à des fins de développement - actions sur google

  10. 10

    php ajouter et fusionner des données de deux tables

  11. 11

    Créer un système Buzzer à l'aide de python

  12. 12

    Existe-t-il un moyen de voir si mon bot est hors ligne ?

  13. 13

    Comment changer la couleur de la police dans R?

  14. 14

    Déplacement des moindres carrés d'ajustement pour les déplacements de points ayant des problèmes

  15. 15

    impossible d'obtenir l'image d'arrière-plan en plein écran dans reactjs

  16. 16

    Comment vérifier si un utilisateur spécifique a un rôle? Discord js

  17. 17

    comment afficher un bouton au-dessus d'un autre élément ?

  18. 18

    Comment choisir le nombre de fragments et de répliques Elasticsearch

  19. 19

    Comment ajouter une entrée à une table de base de données pour une combinaison de deux tables

  20. 20

    optimiser les opérations du serveur avec elasticsearch: traitement des filigranes de disque bas

  21. 21

    Comment analyser un fichier avec un tableau d'objets JSON en utilisant Node.js?

chaudétiquette

Archive