【问题标题】:Select data.frame rows from specific days of the week从一周中的特定日期选择 data.frame 行
【发布时间】:2014-11-27 12:15:55
【问题描述】:

我有以下data.frame:

           Bounty Snickers Mars
2014-10-02    400      200 1000
2014-10-03    400      100  100
2014-10-04    100      100  500
2014-10-05    800      900  600
2014-10-06    400      300  400
2014-10-07   2000     1500  800
       ...    ...      ...  ...

有没有办法选择所有下降的行,例如,星期一或周末?

【问题讨论】:

  • 周末看here,工作日看here。下次试试先用谷歌,谢谢。
  • @DavidArenburg 在发布问题之前,我已经在 Google 上搜索了 30 分钟,然后使用“工作日的 R 子集”、“周末的 R 选择数据”、“周末的 R 数据框选择”等术语发布问题。

标签: r date


【解决方案1】:

试试

df[format(as.Date(row.names(df)), '%A')=='Monday',]
#         Bounty Snickers Mars
#2014-10-06    400      300  400

或者对于weekend,一种选择是使用wday

 library(lubridate)
 df[wday(as.Date(row.names(df))) %in% 6:7,]
 #        Bounty Snickers Mars
 #2014-10-03    400      100  100
 #2014-10-04    100      100  500

【讨论】:

  • 你也有 wday 在基础 R 中
  • @David Arenburg 当我尝试?wday 时,它只显示两个选项,即。 data.tablelubridate
  • 查看我在对该问题的评论中提供的第一个链接中的第一个答案。据我所知,你已经意识到了这一点。我什至记得您使用类似方法计算小时数的答案之一
  • @DavidArenburg 谢谢,也许我必须启动一个新的控制台,看看是否可行。
猜你喜欢
  • 2012-12-20
  • 2021-08-15
  • 2014-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多