我试图将数据添加到使用某些标头创建的数据框中。
代码:
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
该如何纠正?
答案 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")
将所需的数据放在第一行,并且不使用任何自动合并和命名方法。