Как добавить строки в фрейм данных в r (с примерами)


Вы можете быстро добавить одну или несколько строк во фрейм данных в R, используя один из следующих методов:

Способ 1: используйте rbind() для добавления кадров данных.

 rbind(df1, df2)

Способ 2: используйте nrow() для добавления строки.

 df[nrow(df) + 1,] = c(value1, value2, ...)

В этом руководстве представлены примеры использования каждого из этих методов на практике.

Способ 1. Используйте rbind() для добавления кадров данных.

Этот первый метод предполагает, что у вас есть два фрейма данных с одинаковыми именами столбцов. Используя функцию rbind() , мы можем легко добавить строки из второго фрейма данных в конец первого фрейма данных.

Например:

 #define data frame
df1 <- data.frame(var1=c(4, 13, 7, 8),
                  var2=c(15, 9, 9, 13),
                  var3=c(12, 12, 7, 5))
df1

  var1 var2 var3
1 4 15 12
2 13 9 12
3 7 9 7
4 8 13 5

#define second data frame
df2 <- data.frame(var1=c(4, 13),
                  var2=c(9, 12),
                  var3=c(6, 6))
df2

  var1 var2 var3
1 4 9 6
2 13 12 6

#append the rows of the second data frame to end of first data frame
df3 <- rbind(df1, df2)
df3

  var1 var2 var3
1 4 15 12
2 13 9 12
3 7 9 7
4 8 13 5
5 4 9 6
6 13 12 6

Способ 2: используйте nrow() для добавления строки

Этот метод использует функцию nrow() для добавления строки в конец данного фрейма данных.

Например:

 #define first data frame
df1 <- data.frame(var1=c(4, 13, 7, 8),
                  var2=c(15, 9, 9, 13),
                  var3=c(12, 12, 7, 5))
df1

  var1 var2 var3
1 4 15 12
2 13 9 12
3 7 9 7
4 8 13 5

#append row to end of data frame 
df1[ nrow (df1) + 1,] = c(5, 5, 3)
df1

  var1 var2 var3
1 4 15 12
2 13 9 12
3 7 9 7
4 8 13 5
5 5 5 3

Чтобы этот метод работал, добавляемый вами вектор значений должен иметь ту же длину, что и количество столбцов во фрейме данных.

Дополнительные ресурсы

Как создать пустой фрейм данных в R
Как перебирать имена столбцов в R
Как добавить столбец индекса в фрейм данных в R

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *