我有一个包含16个数据框的列表,所有这些数据框只有两列
DateTime Value
2009-05-31 100
2009-06-30 200
2009-07-31 300
and so on
我想根据日期过滤器对列表中的所有数据框进行子集化。我尝试了以下代码,但它没有用完
> c <- function(df) {
+ within(df, DateTime >= "2009-06-30")
+ }
> train_data <- lapply(my_data, c)
我错过了什么吗?
谢谢。
答案 0 :(得分:1)
尝试此操作(假设数据框中的Datetime列格式为Dates):
c <- function(df){
df[df$DateTime >= as.Date("2009-06-30"),]
}
train_data <- lapply(my_data, c)
或者如果您想使用with
:
c <- function(df){
with(df, df[DateTime >= "2009-06-30",])
}
答案 1 :(得分:0)
没关系,我找到了答案
training_data <- lapply(my_data, subset, DateTime >= "2009-06-30")
答案 2 :(得分:0)
您有一个子集方法:
new_df = subset(df, DateTime > "2009-06-30")
输出将是:
DateTime Value
3 2009-07-31 300