Comment ajouter une colonne à un DataFrame dans R (avec 18 exemples de code) (2024)

Dans ce didacticiel, vous apprendrez l'une des opérations les plus courantes utilisées pour manipuler des DataFrames dans R - l'ajout de colonnes.

Un DataFrame est l'une des structures de données de base du langage de programmation R. C'est également une structure de données très polyvalente car elle peut stocker plusieurs types de données, être facilement modifiée et facilement mise à jour.

Dans ce didacticiel, nous examinerons l'une des opérations les plus courantes utilisées pour manipuler des DataFrames dans R : comment ajouter une colonne à un DataFrame dans la base R.

Qu'est-ce qu'une Dataframe en R ?

Techniquement parlant, un DataFrame dans R est un cas spécifique deune liste de vecteurs de même longueur, où différents vecteurs peuvent être (et sont généralement) de différents types de données. Puisqu'un DataFrame a une forme tabulaire à 2 dimensions, il a des colonnes (variables) et des lignes (entrées de données).

Ajouter une colonne à un DataFrame dans R

On peut vouloir ajouter une nouvelle colonne à un R DataFrame pour diverses raisons : pour calculer une nouvelle variable basée sur celles existantes, pour ajouter une nouvelle colonne basée sur celle disponible mais avec un format différent (en gardant ainsi les deux colonnes) , pour ajouter une colonne vide ou d'espace réservé pour la remplir davantage, pour ajouter une colonne contenant des informations complètement nouvelles.

Explorons différentes manières d'ajouter une nouvelle colonne à un DataFrame dans R. Pour nos expériences, nous utiliserons principalement le même DataFrame appelésuper_dormeursque nous reconstruirons à chaque fois à partir du DataFrame initial suivant :

super_sleepers_initial <- data.frame(rating=1:4, animal=c('koala', 'hedgehog', 'sloth', 'panda'), country=c('Australie', 'Italie', 'Pérou', 'Chine'))print(super_sleepers_initial)
note pays animal1 1 koala Australie2 2 hérisson Italie3 3 paresseux Pérou4 4 panda Chine

Notre tâche sera d'ajouter à ce DataFrame une nouvelle colonne appeléeavg_sleep_hoursreprésentant le temps moyen en heures que chacun des animaux ci-dessus dort par jour, selon le schéma suivant :

AnimalHeures de sommeil en moyenne par jour
koala21
hérisson18
paresseux17
Pandadix

Pour certains exemples, nous allons essayer d'ajouter deux autres colonnes :avg_sleep_hours_per_yeareta_queue.

Maintenant, plongeons dedans.

Ajout d'une colonne à un DataFrame dans R à l'aide du symbole \$

Puisqu'un DataFrame dans R est une liste de vecteurs où chaque vecteur représente une colonne individuelle de ce DataFrame, nous pouvons ajouter une colonne à un DataFrame simplement en ajoutant le nouveau vecteur correspondant à cette "liste". La syntaxe est la suivante :

dataframe_name$new_column_name <- vecteur

Reconstruisons notresuper_dormeursDataFrame de l'initialesuper_sleepers_initialDataFrame (nous le ferons pour chaque expérience ultérieure) et ajoutez-y une colonne appeléeavg_sleep_hoursreprésenté par le vecteurc(21, 18, 17, 10):

# Reconstruire lesuper_dormeursDataFramesuper_sleepers <- super_sleepers_initialprint(super_sleepers)cat('\n\n') # impression d'une ligne vide# Ajout d'une nouvelle colonneavg_sleep_hoursausuper_dormeursDataFramesuper_sleepers$avg_sleep_hours <- c(21, 18, 17, 10)print(super_sleepers)
note pays animal1 1 koala Australie2 2 hérisson Italie3 3 paresseux Pérou4 4 panda Chine note pays animal avg_sleep_hours1 1 koala Australie 212 2 hérisson Italie 183 3 paresseux Pérou 174 4 panda Chine 10

Notez que le nombre d'éléments ajoutés dans le vecteur doit être égal au nombre actuel de lignes dans un DataFrame, sinon le programme génère une erreur :

# Reconstruire lesuper_dormeursDataFramesuper_sleepers <- super_sleepers_initialprint(super_sleepers)cat('\n\n')# Tentative d'ajout d'une nouvelle colonneavg_sleep_hoursausuper_dormeursDataFrame# avec le nombre d'éléments dans le vecteur NON ÉGAL au nombre de lignes dans le DataFramesuper_sleepers$avg_sleep_hours <- c(21, 18, 17)print(super_sleepers)
note animal pays1 1 koala Australie2 2 hérisson Italie3 3 paresseux Pérou4 4 panda ChineErreur dans$<-.data.frame(*tmp*, avg_sleep_hours, value = c(21, 18, : le remplacement a 3 lignes, les données ont 4Traceback:1.$<-(*tmp*, avg_sleep_hours, valeur = c(21, 18, 17))2.$<-.data.frame(*tmp*, avg_sleep_hours, valeur = c(21, 18, . 17))3. stop(sprintf(ngettext(N, "replacement has %d row, data has %d", . "replacement has %d rows, data has %d"), N, nrows), domain = NA)

Au lieu d'attribuer un vecteur, nous pouvons attribuer une seule valeur, qu'elle soit numérique ou caractère, pour toutes les lignes d'une nouvelle colonne :

# Reconstruire lesuper_dormeursDataFramesuper_sleepers <- super_sleepers_initialprint(super_sleepers)cat('\n\n')# Ajout d'une nouvelle colonneavg_sleep_hoursausuper_dormeursDataFrame et en l'attribuant à 0super_sleepers$avg_sleep_hours <- 0print(super_sleepers)
note pays animal1 1 koala Australie2 2 hérisson Italie3 3 paresseux Pérou4 4 panda Chine note pays animal avg_sleep_hours1 1 koala Australie 02 2 hérisson Italie 03 3 paresseux Pérou 04 4 panda Chine 0

Dans ce cas, la nouvelle colonne joue un rôle d'espace réservé pour les valeurs réelles du type de données spécifié (dans le cas ci-dessus, numérique) que nous pouvons insérer ultérieurement.

Alternativement, nous pouvons calculer une nouvelle colonne basée sur celles existantes. Ajoutons d'abord leavg_sleep_hourscolonne à notre DataFrame puis calculer une nouvelle colonneavg_sleep_hours_per_yearà partir de cela. Nous voulons savoir combien d'heures ces animaux dorment en moyenne par an :

# Reconstruire lesuper_dormeursDataFramesuper_sleepers <- super_sleepers_initialprint(super_sleepers)cat('\n\n')# Ajout d'une nouvelle colonneavg_sleep_hoursausuper_dormeursDataFramesuper_sleepers$avg_sleep_hours <- c(21, 18, 17, 10)print(super_sleepers)cat('\n\n')# Ajout d'une nouvelle colonneavg_sleep_hours_per_yearcalculé à partir deavg_sleep_hourssuper_sleepers$avg_sleep_hours_per_year <- super_sleepers$avg_sleep_hours * 365print(super_sleepers)
note pays animal1 1 koala Australie2 2 hérisson Italie3 3 paresseux Pérou4 4 panda Chine note pays animal avg_sleep_hours1 1 koala Australie 212 2 hérisson Italie 183 3 paresseux Pérou 174 4 panda Chine 10 note pays animal avg_sleep_hours avg_sleep_hours_per_year1 1 koala Australie 21 76652 2 haie porc Italie 18 65703 3 paresseux Pérou 17 62054 4 panda Chine 10 3650

Aussi, il est possible de copier une colonne d'un DataFrame à un autre en utilisant la syntaxe suivante :df1$new_col <- df2$existing_col. Reproduisons une telle situation :

# Création dusuper_dormeurs_1dataframe avec la seule colonnenotationsuper_sleepers_1 <- data.frame(rating=1:4)print(super_sleepers_1)cat('\n\n')# Copie duanimalcolonne desuper_sleepers_initialpoursuper_dormeurs_1# Notez que dans le nouveau DataFrame, la colonne s'appelleANIMALau lieu deanimalsuper_sleepers_1$ANIMAL <- super_sleepers_initial$animalprint(super_sleepers_1)
note1 12 23 34 4 note ANIMAL1 1 koala2 2 hérisson3 3 paresseux4 4 panda

L'inconvénient de cette approche (c'est-à-dire l'utilisation de l'opérateur \$ pour ajouter une colonne à un DataFrame) est que nous ne pouvons pas ajouter de cette manière une colonne dont le nom contient des espaces blancs ou des symboles spéciaux. En effet, il ne peut rien contenir qui ne soit une lettre (majuscule ou minuscule), un chiffre, un point ou un trait de soulignement. De plus, cette approche ne fonctionne pas pour l'ajout de plusieurs colonnes.

Ajout d'une colonne à un DataFrame dans R à l'aide de crochets

Une autre façon d'ajouter une nouvelle colonne à un R DataFrame est plus "de style DataFrame" que "de style liste": en utilisant la notation entre parenthèses. Voyons voir comment ça fonctionne:

# Reconstruire lesuper_dormeursDataFramesuper_sleepers <- super_sleepers_initialprint(super_sleepers)cat('\n\n')# Ajout d'une nouvelle colonneavg_sleep_hoursausuper_dormeursDataFrame:super_sleepers['avg_sleep_hours'] <- c(21, 18, 17, 10)print(super_sleepers)
note pays animal1 1 koala Australie2 2 hérisson Italie3 3 paresseux Pérou4 4 panda Chine note pays animal avg_sleep_hours1 1 koala Australie 212 2 hérisson Italie 183 3 paresseux Pérou 174 4 panda Chine 10

Dans le morceau de code ci-dessus, nous pouvons remplacer cette ligne :

super_sleepers['avg_sleep_hours'] <- c(21, 18, 17, 10)

Cette ligne peut également être remplacée :

super_sleepers[['avg_sleep_hours']] <- c(21, 18, 17, 10)

Enfin, celui-ci peut également être remplacé :

super_sleepers[,'avg_sleep_hours'] <- c(21, 18, 17, 10)

Le résultat sera identique, ce ne sont que 3 versions différentes de la syntaxe.

Comme pour la méthode précédente, nous pouvons attribuer une seule valeur au lieu d'un vecteur à la nouvelle colonne :

# Reconstruire lesuper_dormeursDataFramesuper_sleepers <- super_sleepers_initialprint(super_sleepers)cat('\n\n')# Ajout d'une nouvelle colonneavg_sleep_hoursausuper_dormeursDataFrame et en l'attribuant à 'Unknown'super_sleepers['avg_sleep_hours'] <- 'Unknown'print(super_sleepers)
note pays animal1 1 koala Australie2 2 hérisson Italie3 3 paresseux Pérou4 4 panda Chine note pays animal avg_sleep_hours1 1 koala Australie Inconnu2 2 hérisson Italie Inconnu3 3 paresseux Pérou Inconnu4 4 panda Chine Inconnu

Comme alternative, nous pouvons calculer une nouvelle colonne basée sur celles existantes :

# Reconstruire lesuper_dormeursDataFramesuper_sleepers <- super_sleepers_initialprint(super_sleepers)cat('\n\n')# Ajout d'une nouvelle colonneavg_sleep_hoursausuper_dormeursDataFramesuper_sleepers['avg_sleep_hours'] <- c(21, 18, 17, 10)print(super_sleepers)cat('\n\n')# Ajout d'une nouvelle colonneavg_sleep_hours_per_yearcalculé à partir deavg_sleep_hourssuper_sleepers['avg_sleep_hours_per_year'] <- super_sleepers['avg_sleep_hours'] * 365print(super_sleepers)
note pays animal1 1 koala Australie2 2 hérisson Italie3 3 paresseux Pérou4 4 panda Chine note pays animal avg_sleep_hours1 1 koala Australie 212 2 hérisson Italie 183 3 paresseux Pérou 174 4 panda Chine 10 note pays animal avg_sleep_hours avg_sleep_hours_per_year1 1 koala Australie 21 76652 2 haie porc Italie 18 65703 3 paresseux Pérou 17 62054 4 panda Chine 10 3650

En utilisant une autre option, nous pouvons copier une colonne d'un autre DataFrame :

# Création dusuper_dormeurs_1dataframe avec la seule colonnenotationsuper_sleepers_1 <- data.frame(rating=1:4)print(super_sleepers_1)cat('\n\n')# Copie duanimalcolonne desuper_sleepers_initialpoursuper_dormeurs_1# Notez que dans le nouveau DataFrame, la colonne s'appelleANIMALau lieu deanimalsuper_sleepers_1['ANIMAL'] <- super_sleepers_initial['animal']print(super_sleepers_1)
note1 12 23 34 4 note ANIMAL1 1 koala2 2 hérisson3 3 paresseux4 4 panda

L'avantage d'utiliser des crochets par rapport à l'opérateur $ pour ajouter une colonne à un DataFrame est que nous pouvons ajouter une colonne dont le nom contient des espaces blancs ou des symboles spéciaux.

Ajout d'une colonne à un DataFrame dans R à l'aide declier()Fonction

La troisième façon d'ajouter une nouvelle colonne à un R DataFrame est d'appliquer leclier()fonction qui signifie "column-bind" et peut également être utilisée pour combiner deux ou plusieurs DataFrames. L'utilisation de cette fonction est une approche plus universelle que les deux précédentes puisqu'elle permet d'ajouter plusieurs colonnes à la fois. Sa syntaxe de base est la suivante :

df <- cbind(df, new_col_1, new_col_2, ..., new_col_N)

Le morceau de code ci-dessous ajoute leavg_sleep_hourscolonne à lasuper_dormeursTrame de données:

# Reconstruire lesuper_dormeursDataFramesuper_sleepers <- super_sleepers_initialprint(super_sleepers)cat('\n\n')# Ajout d'une nouvelle colonneavg_sleep_hoursausuper_dormeursDataFramesuper_sleepers <- cbind(super_sleepers, avg_sleep_hours=c(21, 18, 17, 10))print(super_sleepers)
note pays animal1 1 koala Australie2 2 hérisson Italie3 3 paresseux Pérou4 4 panda Chine note pays animal avg_sleep_hours1 1 koala Australie 212 2 hérisson Italie 183 3 paresseux Pérou 174 4 panda Chine 10

Le morceau de code suivant ajoute deux nouvelles colonnes -avg_sleep_hourseta_queue- ausuper_dormeursDataFrame à la fois :

# Reconstruire lesuper_dormeursDataFramesuper_sleepers <- super_sleepers_initialprint(super_sleepers)cat('\n\n')# Ajout de deux nouvelles colonnesavg_sleep_hourseta_queueausuper_dormeursDataFramesuper_sleepers <- cbind(super_sleepers, avg_sleep_hours=c(21, 18, 17, 10), has_tail=c('no', 'yes', 'yes', 'yes'))print(super_sleepers)
note pays animal1 1 koala Australie2 2 hérisson Italie3 3 paresseux Pérou4 4 panda Chine note pays animal avg_sleep_hours has_tail1 1 koala Australie 21 no2 2 hérisson Italie 18 oui3 3 paresseux Pérou 17 oui4 4 panda Chine 10 oui

Outre l'ajout de plusieurs colonnes à la fois, un autre avantage de l'utilisation de laclier()fonction est qu'elle permet d'affecter le résultat de cette opération (c'est-à-dire l'ajout d'une ou plusieurs colonnes à un DataFrame R) à un nouveau DataFrame en laissant le premier inchangé :

# Reconstruire lesuper_dormeursDataFramesuper_sleepers <- super_sleepers_initialprint(super_sleepers)cat('\n\n')# Création d'un nouveau DataFramesuper_sleepers_newbasé sursuper_dormeursavec une nouvelle colonneavg_sleep_hourssuper_sleepers_new <- cbind(super_sleepers, avg_sleep_hours=c(21, 18, 17, 10), has_tail=c('no', 'yes', 'yes', 'yes'))print(super_sleepers_new)cat('\n \n')imprimer(super_sleepers)
note pays animal1 1 koala Australie2 2 hérisson Italie3 3 paresseux Pérou4 4 panda Chine note pays animal avg_sleep_hours has_tail1 1 koala Australie 21 no2 2 hérisson Italie 18 oui3 3 paresseux Pérou 17 oui4 4 panda Chine 10 oui note pays animal1 1 koala Australie2 2 hérisson Italie3 3 paresseux Pérou4 4 panda Chine

Comme pour les deux approches précédentes, à l'intérieur duclier()fonction, nous pouvons attribuer une seule valeur à toute la nouvelle colonne :

# Reconstruire lesuper_dormeursDataFramesuper_sleepers <- super_sleepers_initialprint(super_sleepers)cat('\n\n')# Ajout d'une nouvelle colonneavg_sleep_hoursausuper_dormeursDataFrame et en l'attribuant à 0.999super_sleepers <- cbind(super_sleepers, avg_sleep_hours=0.999)print(super_sleepers)
note pays animal1 1 koala Australie2 2 hérisson Italie3 3 paresseux Pérou4 4 panda Chine note pays animal avg_sleep_hours1 1 koala Australie 0,9992 2 hérisson Italie 0,9993 3 paresseux Pérou 0,9994 4 panda Chine 0,999

Une autre option nous permet de le calculer en fonction des colonnes existantes :

# Reconstruire lesuper_dormeursDataFramesuper_sleepers <- super_sleepers_initialprint(super_sleepers)cat('\n\n')# Ajout d'une nouvelle colonneavg_sleep_hoursausuper_dormeursDataFramesuper_sleepers <- cbind(super_sleepers, avg_sleep_hours=c(21, 18, 17, 10))print(super_sleepers)cat('\n\n')# Ajout d'une nouvelle colonneavg_sleep_hours_per_yearcalculé à partir deavg_sleep_hourssuper_sleepers <- cbind(super_sleepers, avg_sleep_hours_per_year=super_sleepers['avg_sleep_hours'] * 365)print(super_sleepers)
note pays animal1 1 koala Australie2 2 hérisson Italie3 3 paresseux Pérou4 4 panda Chine note pays animal avg_sleep_hours1 1 koala Australie 212 2 hérisson Italie 183 3 paresseux Pérou 174 4 panda Chine 10 note pays animal avg_sleep_hours avg_sleep_hours1 1 koala Australie 21 76652 2 hérisson Italie 1 8 65703 3 paresseux Pérou 17 62054 4 panda Chine 10 3650

Avec l'option suivante, nous pouvons copier une colonne d'un autre DataFrame :

# Création dusuper_dormeurs_1DataFrame avec la seule colonnenotationsuper_sleepers_1 <- data.frame(rating=1:4)print(super_sleepers_1)cat('\n\n')# Copie duanimalcolonne desuper_sleepers_initialpoursuper_dormeurs_1# Notez que dans le nouveau DataFrame, la colonne s'appelle toujoursanimalmalgré la définition du nouveau nomANIMALsuper_sleepers_1 <- cbind(super_sleepers_1, ANIMAL=super_sleepers_initial['animal'])print(super_sleepers_1)
note1 12 23 34 4 note animal1 1 koala2 2 hérisson3 3 paresseux4 4 panda

Cependant, contrairement aux approches de l'opérateur \$ et des crochets, faites attention aux deux nuances suivantes :

  1. Nous ne pouvons pas créer une nouvelle colonne et calculer une autre colonne en fonction de la nouvelleà l'intérieur du mêmeclier()fonction. Par exemple, le morceau de code ci-dessous générera une erreur.
# Reconstruire lesuper_dormeursDataFramesuper_sleepers <- super_sleepers_initialprint(super_sleepers)cat('\n\n')# Tentative d'ajout d'une nouvelle colonneavg_sleep_hoursausuper_dormeursDataFrame # ET une autre nouvelle colonneavg_sleep_hours_per_yearbasé sur itsuper_sleepers <- cbind(super_sleepers, avg_sleep_hours=c(21, 18, 17, 10), avg_sleep_hours_per_year=super_sleepers['avg_sleep_hours'] * 365)print(super_sleepers)
note animal pays1 1 koala Australie2 2 hérisson Italie3 3 paresseux Pérou4 4 panda ChineErreur dans[.trame de données(super_sleepers, "avg_sleep_hours") : colonnes non définies sélectionnéesTraceback :1. cbind(super_sleepers, avg_sleep_hours = c(21, 18, 17, 10), avg_sleep_hours_per_year = super_sleepers["avg_sleep_hours"] * . 365)2. super_sleepers["avg_sleep_hours"]3.[.trame de données(super_sleepers, "avg_sleep_hours")4. stop("colonnes non définies sélectionnées")
  1. Lorsque nous copions une colonne d'un autre DataFrame et essayons de lui donner un nouveau nomà l'intérieur declier()fonction, ce nouveau nom sera ignoré et la nouvelle colonne sera appelée exactement comme elle était appelée dans le DataFrame d'origine. Par exemple, dans le morceau de code ci-dessous, le nouveau nomANIMALa été ignorée et la nouvelle colonne a été appeléeanimal, tout comme dans le DataFrame à partir duquel il a été copié :
# Création dusuper_dormeurs_1DataFrame avec la seule colonnenotationsuper_sleepers_1 <- data.frame(rating=1:4)print(super_sleepers_1)cat('\n\n')# Copie duanimalcolonne desuper_sleepers_initialpoursuper_dormeurs_1# Notez que dans le nouveau DataFrame, la colonne s'appelle toujoursanimalmalgré la définition du nouveau nomANIMALsuper_sleepers_1 <- cbind(super_sleepers_1, ANIMAL=super_sleepers_initial['animal'])print(super_sleepers_1)
note1 12 23 34 4 note animal1 1 koala2 2 hérisson3 3 paresseux4 4 panda

Conclusion

Dans ce didacticiel, nous avons discuté des différentes raisons pour lesquelles nous pourrions avoir besoin d'ajouter une nouvelle colonne à un R DataFrame et du type d'informations qu'il peut stocker. Ensuite, nous avons exploré les trois manières différentes de le faire : en utilisant le symbole \$, les crochets et leclier()fonction. Nous avons examiné la syntaxe de chacune de ces approches et ses variations possibles, les avantages et les inconvénients de chaque méthode, les fonctionnalités supplémentaires possibles, les pièges et erreurs les plus courants et comment les éviter. De plus, nous avons appris à ajouter plusieurs colonnes à une trame de données R à la fois.

Il convient de noter que les approches discutées ne sont pas les seuls moyens d'ajouter une colonne à un DataFrame dans R. Par exemple, dans le même but, nous pouvons utiliser lesubir une mutation()ouadd_column()les fonctions. Cependant, pour pouvoir appliquer ces fonctions, nous devons installer et charger des packages R spécifiques (dplyrettibble, en conséquence) sans qu'ils n'ajoutent de fonctionnalités supplémentaires à l'opération d'intérêt que celles dont nous avons discuté dans ce didacticiel. Au lieu de cela, en utilisant le symbole \$, les crochets et leclier()la fonction ne nécessite aucune installation pour être implémentée dans la base R.

Tutoriels

Comment ajouter une colonne à un DataFrame dans R (avec 18 exemples de code) (2024)

FAQs

How do you add a column to a DataFrame at a specific position in R? ›

To add a new column in R, use cbin() function. This function takes a DataFrame as a first argument and for the second argument, use the vector which creates a new column on the DataFrame. Note that this doesn't update the existing DataFrame instead it returns a copy of the DataFrame after adding a new column.

How do I add a column to a dataset in R? ›

You can add new columns to a dataframe using the $ and assignment <- operators. To do this, just use the df$name notation and assign a new vector of data to it. As you can see, survey has a new column with the name sex with the values we specified earlier.

How do you initialize an empty DataFrame in R? ›

One simple approach to creating an empty DataFrame in the R programming language is by using data. frame() method without any params. This creates an R DataFrame without rows and columns (0 rows and 0 columns).

How to create an empty DataFrame with column names in R? ›

2. Create an Empty DataFrame with Column Names
  1. 2.1 Using matrix() & data. frame() to create DataFrame with Column Names. ...
  2. 2.2 Create data. frame using Zero-Length Variables. ...
  3. 2.3 Using NA Variables. Finally, let's assign a NA to columns in order to create an empty DataFrame with column names.
Feb 7, 2023

How do I add a specific column to a DataFrame? ›

In pandas you can add/append a new column to the existing DataFrame using DataFrame. insert() method, this method updates the existing DataFrame with a new column. DataFrame. assign() is also used to insert a new column however, this method returns a new Dataframe after adding a new column.

How do you add a value to a specific column in a DataFrame? ›

Use the . loc method when you want to add a new column with specific values at a specific index position in the dataframe. This method allows you to specify the index location where you want to add the new column and provide the values for the column as a list or an array.

How do I specify a column of data in R? ›

dplyr select() function is used to select the columns or variables from the data frame. This takes the first argument as the data frame and the second argument is the column name or vector of column names.

How do I get columns of dataset in R? ›

To pick out single or multiple columns use the select() function. The select() function expects a dataframe as it's first input ('argument', in R language), followed by the names of the columns you want to extract with a comma between each name.

How do I create a subset of data from a column in R? ›

If you wanted to get the subset of a data. frame (DataFrame) Rows & Columns in R, either use the subset() function , filter() from dplyr package or R base square bracket notation df[] . subset() is a generic R function that is used to get the rows and columns (In R terms observations & variables) from the data frame.

How do I add rows to a DataFrame in R? ›

Using nrow()

This syntax literally means that we calculate the number of rows in the DataFrame ( nrow(dataframe) ), add 1 to this number ( nrow(dataframe) + 1 ), and then append a new row new_row at that index of the DataFrame ( dataframe[nrow(dataframe) + 1,] ) — i.e., as a new last row.

How to add empty row to data frame in R? ›

A DataFrame is a list of vectors of equal length in R. You can add an empty row to a DataFrame from a vector with row names using the rbind() function. The vector() function is used to create an empty vector, and the names() function is used to assign row names.

How do I add data to an empty data frame? ›

Once you have an empty DataFrame, you can append data to it using the append() function.

How to initialize a DataFrame in R? ›

How to create an empty dataframe in R
  1. df = data.frame()
  2. df[1,1] = c(1)
  3. df[2,] = c(2)
  4. colnames(df) <- c('Number')
  5. names <- c("a","b")
  6. df$alphabet <- names.
  7. df1 <- data.frame(name=c("John","Alex"),profession=c("Engineer","Director"))
  8. place_of_living <- c('California','New York')

How do I add an empty column to an existing DataFrame in R? ›

To add an empty column in R, use cbin() function. This function takes a DataFrame as a first argument and an empty column you wanted to add as a second argument. Note that this doesn't update the existing DataFrame instead it returns a copy of the DataFrame after adding an empty column.

How do I create an empty data frame with columns? ›

To create an empty DataFrame with only column names, you can use the pandas. DataFrame() constructor and specify the column names as a list. In the code above, we import the Pandas library and then create an empty DataFrame called df with the column names 'Column 1', 'Column 2', and 'Column 3'.

How do I add a column to a Dataframe at first position? ›

Approach:
  1. Import module.
  2. Create or load dataframe.
  3. Remove the column which needs to be shifted to First Position in dataframe using pop() function.
  4. Insert the column at first position using insert() function.
  5. Print dataframe.
Feb 2, 2021

How do you add a column to a Dataframe based on other columns? ›

Once we have loaded our data into a pandas DataFrame, we can create a new column based on the value of another column using the apply() function. The apply() function allows us to apply a function to each row or column of a DataFrame and return a new DataFrame.

How do I add a row to a specific position in a Dataframe? ›

concat() function to insert a row at any given position in the dataframe.

How do I add a column to a row in a Dataframe in R? ›

To add a new row to the DataFrame (data. frame) in R, first, you need to get the number of rows in the existing data frame using nrows(df) and add this new row towards the end nrow(df) + 1 . The following example adds a new row at the end of the dataframe.

Top Articles
Latest Posts
Article information

Author: Rev. Leonie Wyman

Last Updated:

Views: 5980

Rating: 4.9 / 5 (79 voted)

Reviews: 94% of readers found this page helpful

Author information

Name: Rev. Leonie Wyman

Birthday: 1993-07-01

Address: Suite 763 6272 Lang Bypass, New Xochitlport, VT 72704-3308

Phone: +22014484519944

Job: Banking Officer

Hobby: Sailing, Gaming, Basketball, Calligraphy, Mycology, Astronomy, Juggling

Introduction: My name is Rev. Leonie Wyman, I am a colorful, tasty, splendid, fair, witty, gorgeous, splendid person who loves writing and wants to share my knowledge and understanding with you.