R语言 在数据框架的特定索引位置添加新行

R语言 在数据框架的特定索引位置添加新行

在这篇文章中,我们将讨论如何在R编程语言中的数据框架中的特定索引处添加新行。

这里的主要任务是转移其他行,在数据框架中为新行留出空间,然后插入其内容。这可以通过两种方法完成

方法1:使用rbind()

R语言中的 rbind() 函数是用来将指定的向量、矩阵或数据框按行组合起来。

语法: rbind(x1, x2, ..., deparse.level = 1)

参数

  • x1, x2: 矢量、矩阵、数据框
  • deparse.level: 这个值决定了列名的生成方式。deparse.level的默认值是1。

例子

rm(list = ls())
  
# Function to create new dataframe
insertRow <- function(data, new_row, r) {
  data_new <- rbind(data[1:r, ],            
                    new_row,                
                    data[- (1:r), ])        
  rownames(data_new) <- 1:nrow(data_new)    
  return(data_new)
}
  
existingDF <- data.frame(x1 = c(15,25,35,45,55),    
                         x2 = c(23,34,45,56,76),
                         x3 = c(12,23,3,454,26))
  
index <- 4                                             
  
newrow <- c(9, 99, 999)                                
newDF=insertRow(existingDF, newrow, index)
  
print(newDF)

输出

在R语言中在数据框架的特定索引位置添加新行

方法2:使用seq()

另一种方法是使用seq()函数来做同样的事情。这里的方法是相同的,但方法有些不同。我们正在访问数据框架的行,并在其中创建空间。另外,我们使用nrows()来计算行的总数。

R语言中的 seq() 函数是用来创建一个向量中的元素序列的。它需要长度和值之间的差异作为一个可选的参数。

语法: seq(from, to, by, length.out)

参数

  • from: 序列的起始元素
  • to: 序列的结束元素
  • by: 元素之间的差值
  • length.out: 向量的最大长度

例子

rm(list = ls())
  
# Function to create new dataframe
insertRow <- function(existingDF, new_row, r) {
  existingDF[seq(r+1,nrow(existingDF)+1),] <- existingDF[seq(r,nrow(existingDF)),] 
  existingDF[r,] <- new_row                         
  return(existingDF)
  
  }
  
existingDF <- data.frame(x1 = c(1,7,13,25,31),              
                         x2 = c(2,8,14,26,32),
                         x3 = c(3,9,15,27,33),
                         x4 = c(4,10,16,28,34),
                         x5 = c(5,11,17,29,35),
                         x6 = c(6,12,18,30,36))
  
r <- 4                              
  
new_row <- c(19,20,21,22,23,24)                 
newDF=insertRow(existingDF, new_row, r)      
  
print(newDF)

输出

在R语言中在数据框架的特定索引位置添加新行

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程