添加在特定的地方一个新的行中的数据帧(Add a new row in specific place

2019-09-01 06:16发布

我的继承人数据:

 > data
  Manufacturers       Models
1   Audi                RS5  
2   BMW                 M3  
3   Cadillac            CTS-V  
4   Lexus               ISF

我想补充的1排在第四行,就像这样:

 > data
  Manufacturers       Models
1   Audi                RS5  
2   BMW                 M3  
3   Cadillac            CTS-V  
4   Benz                C63
5   Lexus               ISF

我曾尝试使用rbind()是这样的:

 Benz = data.frame(Manufacturers = "Benz", Models = "C63")
 newdata = rbind(data,Benz)

但我不能添加到我想要的地方。 我希望在这个问题上的任何帮助。 非常感谢。

Answer 1:

如果你不希望指数,而是一次性的“速战速决”对于一些类似于电子表格的外观,你可能会诉诸

newData <- rbind( data[1:3,], Benz, data[ 4,] )


Answer 2:

如果订单是您的数据集的一个重要特征,那么你应该编纂它以安全的方式,例如,通过使用索引变量。 我不会依靠rownames或data.frame行的,因为有他们不保留操作顺序。

data <- read.table(text="Manufacturers       Models
1   Audi                RS5  
2   BMW                 M3  
3   Cadillac            CTS-V  
4   Lexus               ISF",header=TRUE)

data$ind <- seq_len(nrow(data))
data <- rbind(data,data.frame(Manufacturers = "Benz", Models = "C63",ind=3.1))
data <- data[order(data$ind),]

#   Manufacturers Models ind
# 1          Audi    RS5 1.0
# 2           BMW     M3 2.0
# 3      Cadillac  CTS-V 3.0
# 5          Benz    C63 3.1
# 4         Lexus    ISF 4.0


Answer 3:

此功能将改善和解决您的问题:

INSERT_NA_ROW <- function(indice, tabla) {
  new_Row <- NA
  long <- NROW(tabla)
  new_Data<- rbind(tabla[1:indice,], new_Row ,tabla[(indice + 1):(long),])
  return(new_Data)
} # Insert Row in index of dataframe

谢谢你给我读了!



文章来源: Add a new row in specific place in a dataframe
标签: r row add rbind