【问题标题】:How does zoo or xts to deal with two-dimensional tables?zoo或xts如何处理二维表?
【发布时间】:2020-07-09 19:04:28
【问题描述】:

我有一个二维表。我想知道如何通过 read.zoo 导入 Rstudio?并生成折线图。谢谢大家!

【问题讨论】:

  • 请编辑此问题,以便您有一个最小的可重现示例。不要使用图像。还请解释您是如何尝试做您想做的,哪些没有奏效。确保您已阅读 ?read.zoo。
  • 我已经在我的回答中的注释中为您完成了,但下次请按照r标签顶部的说明进行发布。
  • 很抱歉我的帖子格式,我是R的初学者,谢谢你的回答!

标签: r xts zoo


【解决方案1】:

zoo/xts 假设每一列都是一个时间序列,而输入是按行排列的。因此,在最后使用 Note 中可重现生成的输入文件,将其作为普通数据帧读入,转置然后使用read.zoo。请参阅?read.zoovignette("zoo-read", package = "zoo") 了解更多信息。

library(zoo)

DF <- read.table("myfile.dat", as.is = TRUE, strip.white = TRUE,
  check.names = FALSE)
m <- t(DF)
read.zoo(data.frame(rownames(m), m))

给这个动物园对象:

           A B
2010-01-01 1 3
2010-02-01 2 4

年月

由于日期似乎是每月一次,因此另一种方法是通过将 FUN=as.yearmon 参数添加到 read.zoo 来使用 yearmon 类作为日期。 yearmon 类直接表示年/月,并按日期顺序排序。

# alternative to read.zoo line
read.zoo(data.frame(rownames(m), m), FUN = as.yearmon)

给这个动物园对象:

         A B
Jan 2010 1 3
Feb 2010 2 4

注意

可重现形式的输入。 (下次请这样提供。)

Lines <- "2010-01-01 2010-02-01
A 1 2
B 3 4"
cat(Lines, file = "myfile.dat")

【讨论】:

    猜你喜欢
    • 2013-03-17
    • 2011-09-21
    • 2011-03-14
    • 2017-09-27
    • 1970-01-01
    • 1970-01-01
    • 2017-03-28
    • 2011-05-21
    • 2012-06-23
    相关资源
    最近更新 更多