【发布时间】:2018-06-24 04:43:13
【问题描述】:
我有大量数据框。它看起来像下面的那个,只是更大。
V1 = c("1996-04-01", "1992-01-01", "1997-02-01", "1991-01-08", "1998-09-07")
V2 = runif(5, 10.0, 100.0)
V3 = runif(5, 10.0, 100.0)
V4 = runif(5, 10.0, 100.0)
V5 = runif(5, 10.0, 100.0)
df1 = data.frame (V1, V2, V3, V4, V5)
V1 = c("2009-04-01", "1996-01-01", "1991-02-01", "1997-01-08", "2005-09-07")
V2 = runif(5, 10.0, 100.0)
V3 = runif(5, 10.0, 100.0)
V4 = runif(5, 10.0, 100.0)
V5 = runif(5, 10.0, 100.0)
df2 = data.frame (V1, V2, V3, V4, V5)
V1 = c("2002-04-01", "1995-01-01", "1992-02-01", "1999-01-08", "2007-09-07")
V2 = runif(5, 10.0, 100.0)
V3 = runif(5, 10.0, 100.0)
V4 = runif(5, 10.0, 100.0)
V5 = runif(5, 10.0, 100.0)
df3 = data.frame (V1, V2, V3, V4, V5)
dataframe_list = list(df1, df2, df3)
我想删除特定日期的行。例如 1995 年之前和 2000 年之后的所有年份。我知道如何在数据框中执行此操作,但是如何添加数据框列表中的所有 V1 列?以及如何使用 as.Date 函数?当我尝试这样做时出现错误。我的尝试是:
for(i in 1:length(dataframe_list)){
dataframe_list[[i]][,1]= as.Date(dataframe_list[[i]][,1],format="%Y-%m-%d")
dataframe_list[dataframe_list[["V1"]] >= 1995, ]
dataframe_list[dataframe_list[["V1"]] <= 2000, ]}
它不起作用,有谁知道错误可能在哪里?有人知道更简单的解决方案吗?
【问题讨论】:
-
您能否提供使用
dput的示例,以便我们能够轻松地复制它?另外,请提供您遇到的错误。 -
它是如何工作的?我做了 dput (dataframe_list),但这对我提供数据有何帮助?哦,我没有例子,我只是在这里做的。我只有巨大的数据框列表。
-
我现在在上面的帖子中有一个例子!