Функции rbind() и cbind() в R — объединение строк и столбцов
Функция rbind() в R используется для объединения данных по строкам, а cbind() — для объединения данных по столбцам.
Они могут объединять векторы, матрицы и датафреймы и являются фундаментальными операциями для построения структур данных.
Синтаксис этих двух функций выглядит следующим образом:
rbind(...) # 按行合并(row bind) cbind(...) # 按列合并(column bind)
Описание параметра:
...Векторы, матрицы или датафреймы, которые нужно объединить.
Пример
# cbind: объединение векторов по столбцам
name <- c(Чжан Сань, Ли Сы, Ван У)
age <- c(25, 30, 28)
score <- c(88, 92, 76)
# Объединить в матрицу
mat <- cbind(name, age, score)
print("cbind объединено в матрицу:")
print(mat)
# rbind: объединить по строкам
row1 <- c("A", "B", "C")
row2 <- c("D", "E", "F")
result <- rbind(row1, row2)
print("rbind объединено по строкам:")
print(result)
name <- c(Чжан Сань, Ли Сы, Ван У)
age <- c(25, 30, 28)
score <- c(88, 92, 76)
# Объединить в матрицу
mat <- cbind(name, age, score)
print("cbind объединено в матрицу:")
print(mat)
# rbind: объединить по строкам
row1 <- c("A", "B", "C")
row2 <- c("D", "E", "F")
result <- rbind(row1, row2)
print("rbind объединено по строкам:")
print(result)
Выполнение приведённого выше кода выводит следующее:
[1] "cbind 合并为矩阵:"
name age score
[1,] "张三" "25" "88"
[2,] "李四" "30" "92"
[3,] "王五" "28" "76"
[1] "rbind 按行合并:"
[,1] [,2] [,3]
row1 "A" "B" "C"
row2 "D" "E" "F"
В анализе данных rbind() часто используется для добавления строк данных:
Пример
# Исходный датафрейм
df <- data.frame(
Name= c(Чжан Сань, Ли Сы),
Age= c(25, 30),
stringsAsFactors = FALSE
)
print("Оригинал:")
print(df)
# Добавить новую строку
new_student <- data.frame(
Name= Wang Wu,
Age= 28,
stringsAsFactors = FALSE
)
df_new <- rbind(df, new_student)
print("После добавления:")
print(df_new)
df <- data.frame(
Name= c(Чжан Сань, Ли Сы),
Age= c(25, 30),
stringsAsFactors = FALSE
)
print("Оригинал:")
print(df)
# Добавить новую строку
new_student <- data.frame(
Name= Wang Wu,
Age= 28,
stringsAsFactors = FALSE
)
df_new <- rbind(df, new_student)
print("После добавления:")
print(df_new)
Выполнение приведённого выше кода выводит следующее:
[1] "原始:" 姓名 年龄 1 张三 25 2 李四 30 [1] "追加后:" 姓名 年龄 1 张三 25 2 李四 30 3 王五 28Другие расширения
Примеры на языке R