将矩阵添加到R中的多行标题

时间:2012-06-12 08:40:37

标签: r header matrix multiline fixed-width

我有一个带有固定宽度格式的4行的头文件(使用MASS包中的write.matrix函数保存)。

现在我想用上面创建的头文件创建一个新的Matrix。在R中是否可以将固定的多行标题(例如“text”)添加到矩阵?

一个例子:我有一个像

这样的标题
AB
CDEF 123456
GHIJK 789     101112
LMNOP

然后我想在第一列创建一个带日期的矩阵,然后在第二列创建数据(来自另一个文件),如

892201 0.1
892202 0.8

等等。注意:必须是描述的格式,因为程序只读取上面解释的固定宽度格式。

1 个答案:

答案 0 :(得分:2)

您可以使用带有write.table()参数的append = TRUE函数将第二组数据写入现有文件。

如果我的文件foo.txt包含您显示的标题,那么我可以通过首先创建我想要追加的数据对象来为该文件添加一些日期和其他数据:

dat <- data.frame(dates = Sys.Date() + 0:4, data = seq(0.1, 0.5, by = 0.1))

> dat
       dates data
1 2012-06-12  0.1
2 2012-06-13  0.2
3 2012-06-14  0.3
4 2012-06-15  0.4
5 2012-06-16  0.5

以下内容将dat附加到现有头文件中,而没有任何无关的标题或行名称

write.table(dat, "foo.txt", append = TRUE, col.names = FALSE, row.names = FALSE)

foo.txt现在看起来像这样:

$ cat foo.txt
AB
CDEF 123456
GHIJK 789     101112
LMNOP
2012-06-12 0.1
2012-06-13 0.2
2012-06-14 0.3
2012-06-15 0.4
2012-06-16 0.5