新数据绑定到原始数​​据帧R

时间:2018-12-16 10:40:43

标签: r

我试图将数据添加到使用某些标头创建的数据框中。

代码:

OutputTable <- data.frame(matrix(ncol = 7, nrow = 0))
x <- c("Desk","Date", "Symbol","Required Time Mtd", "Covered Time Mtd", "Required Time Daily", "Covered Time Daily")
colnames(OutputTable) <- x
OutputTable <- rbind(OutputTable,list("HKCHN","2018-12-12","FMCN5","15:15","15:15","15:15","15:15"))

这样做时,我会丢失标题。生成的数据帧如下所示:

> OutputTable
  X.HKCHN. X.2018.12.12. X.FMCN5. X.15.15. X.15.15..1 X.15.15..2 X.15.15..3
1    HKCHN    2018-12-12    FMCN5    15:15      15:15      15:15      15:15

该如何纠正?

1 个答案:

答案 0 :(得分:3)

在使用rbind时,R接受您创建的df并发现它为空,因此列名取自传递的第二个对象-无论是列表还是数组。如help page中所述:

  

对于cbind(rbind),长度为零(包括NULL)的向量将被忽略   除非结果具有零行(列),以确保S兼容性。   (零级矩阵在S3中不会出现,在R中不会被忽略。)

最简单的解决方案是

OutputTable[1, ] <- c("HKCHN","2018-12-12","FMCN5","15:15","15:15","15:15","15:15")

将所需的数据放在第一行,并且不使用任何自动合并和命名方法。