【问题标题】:Limiting Window Size and/or Removing Specific Rows of Time Values In R限制窗口大小和/或删除 R 中的特定时间值行
【发布时间】:2011-10-17 04:30:47
【问题描述】:

我试图弄清楚如何仅观察下图中数据的一个特定部分(例如下午 5 点以后)。我知道基本上有两种方法可以做到这一点:

1) 方法一:限制窗口大小,需要如下函数:

问题是,当我尝试输入两个时间端点时出现“无效的‘xlim’值”错误。

2) 方法 2:清除 Data$Times 中值超过下午 5 点的行。

这里的问题是我不确定如何按最早时间排序行 -> 最晚时间或如何定义一个新变量,例如 TimesPM "5pm" (我刚才输入的显然没有用。)

有什么想法吗?提前致谢。

ETA:这是我绘制的:

Times<-strptime(DATA$Time,format="%I:%M%p")

symbols(Times, y, circles=z, xaxt='n', inches=.4, fg="3", bg=(a), xlab="Times", ylab="y")

axis.POSIXct(1, at=Times, format="%I:%M%p")

【问题讨论】:

    标签: r time


    【解决方案1】:

    这两种方法都有一个问题,即即使在使用“>”比较运算符强制执行之后,您的日期时间格式也很可能不等于像“5:00pm”这样的字符向量表示的值。要获得最佳建议,您需要提供 str(DATA$Times) 或 dput(head(DATA$Times)) 或 class(Data$Times) 。通常,绘图函数可以识别有效的日期或日期时间类或它们的数字表示。如果订购操作不起作用,那么它会提出您是否有适当的课程的问题。但是您似乎有一个轴标签,表明某种日期时间格式,我们只需要弄清楚它到底是什么类。

    因为您正在从 Time 列创建字符向量,所以您可能希望在将 DATA$Time 向量发送到 strptime() 之前应用限制。您仍然没有提供所要求的澄清,所以我无法提供经过测试甚至非常具体的代码,但您可能正在做类似的事情

    Times<-strptime(DATA$Time[ as.POSIXlt(DATA$Time)$hour >= 17 & 
                               as.POSIXlt(DATA$Time)$hour <= 22 ] , 
                    format="%I:%M%p")
    

    【讨论】:

    • 谢谢,DWin。我已将我绘制的内容添加到上面的帖子中。
    猜你喜欢
    • 1970-01-01
    • 2018-09-20
    • 2013-05-26
    • 2011-01-10
    • 1970-01-01
    • 2021-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多