我的数据框“ y”
didUpdateWidget()
我想提取仅在“ steps”和“ interval”列中month == 11&day == 1的行。
无效代码
steps date interval
<dbl> <date> <int>
1 0 2012-10-01 0
2 0 2012-10-01 5
3 0 2012-10-01 10
4 0 2012-10-01 15
5 0 2012-10-01 20
6 0 2012-10-01 25
7 0 2012-10-01 30
8 0 2012-10-01 35
9 0 2012-10-01 40
10 0 2012-10-01 45
# ... with 17,558 more rows
我也尝试过使用先选择然后过滤的组合,但是当我们选择()指定列“ steps”和“ interval”时,由于无法删除,我无法在Filter()中应用条件列“日期”。
有人可以向我解释解决此问题的简便方法吗?
答案 0 :(得分:2)
我假设month()
和day()
来自lubridate。使用dplyr::filter
和dplyr::select
更容易进行此操作。
类似的东西应该可以工作(很难在没有更好的示例数据的情况下进行测试):
library(dplyr)
library(lubridate)
y %>% filter(month(date) == 11,
day(date) == 1) %>%
select(steps, interval)
答案 1 :(得分:2)
使用基数R,我们可以format
和date
列subset
select
答案 2 :(得分:1)
另一种方法是删除带有str_remove
,filter
和select
列的“年份”部分
library(dplyr)
library(stringr)
Y %>%
filter(str_remove(date, "^\\d{4}-") == '11-01') %>%
select(steps, interval)