Ajouter une nouvelle ligne à dataframe, à la ligne spécifique de l'index, annexé pas?
Le code suivant associe un vecteur avec un dataframe:
newrow = c(1:4)
existingDF = rbind(existingDF,newrow)
Toutefois, ce code s'insère la nouvelle ligne à la fin de la dataframe.
Comment puis-je insérer la ligne à un point donné dans le dataframe? Par exemple, disons que le dataframe a 20 lignes, comment puis-je insérer la nouvelle ligne entre les lignes 10 et 11?
L'utilisation d'un index commode et de tri?
Avec une simple boucle et une condition si nécessaire, des lignes peuvent être ajoutées à partir d'un dataframe dans un autre. Un exemple de code est comme indiqué ci-dessous
existingDF = rbind(existingDF[1:10,],newrow,existingDF[-(1:10),])
Avec une simple boucle et une condition si nécessaire, des lignes peuvent être ajoutées à partir d'un dataframe dans un autre. Un exemple de code est comme indiqué ci-dessous
newdataframe[nrow(newdataframe)+1,] <- existingdataframe[i,]
OriginalL'auteur luciano | 2012-07-19
Vous devez vous connecter pour publier un commentaire.
Voici une solution qui évite l' (souvent lent)
rbind
appel:Si la vitesse est moins importante que la clarté, alors @Simon solution qui fonctionne bien:
(Notez que nous l'indice
r
différemment).Et enfin, des points de repère:
Repères
@MatthewDowle des points pour moi, des critères doivent être examinés pour la mise à l'échelle à la taille du problème augmente. Ici nous allons ensuite:
@Roland solution évolue très bien, même avec l'appel à
rbind
:Tracée sur une échelle linéaire:
Et un log-log de l'échelle:
Avec quelle fonction?
Je suppose que c'est le même comportement bizarre, je suis en train de décrire ici: stackoverflow.com/questions/19927806/...
L'étrange comportement ne se produit pas avec insertRow2, mon bloc de données et de la ligne.
Comment voulez-vous simplement d'ajouter une ligne de chiffres pour un df? J'ai
df
avec des colonnesa,b,c,d
et je tiens à ajouter la ligne1,2,3,4
. Comment dois-je faire?OriginalL'auteur Ari B. Friedman
rbind
, mais je suis intrigué.OriginalL'auteur Roland
Vous devriez essayer dplyr paquet
Sortie
En contraste avec l'aide de rbind fonction
Sortie
Il ya un certain gain de performance.
OriginalL'auteur Naimish Agarwal
par exemple, vous souhaitez ajouter des lignes de variable 2 variable 1 d'une base de données nommée "bords"
juste comme ça
OriginalL'auteur user3670684