2017-01-16 51 views
0

我的數據集包含兩列:用某一年(日期)刪除行

Date
  1. 日期,所以不是一個字符串yyyy-mm-dd;
  2. 一定的數量。

我想與當年刪除所有行2017年

df$date > "2016-12-31"(因此使用>符號)不斷給予警告

「錯誤日期>」 2016年12月31日「: 比較(6)只能用於原子和列表類型」

在所有很多很多很多方面我已經嘗試過了。看來只是「<」不能使用,即使這些是大多數在線解決方案。任何想法如何以另一種方式刪除某一年的行?

+2

孫燕姿,請提供'dput(頭(DF $日期))' –

回答

3

使用format()

df <- df[format(df$date,'%Y') != "2017", ] 
+0

謝謝!!這工作:) – Stefanie

+1

請做訪問http://stackoverflow.com/help/someone-answers @Stefanie –

3

如果df$dateDate類它應該工作。見例如:

> df <- data.frame(date = as.Date(runif(10, -200, 200), origin = Sys.Date())) 
> df 
     date 
1 2017-03-02 
2 2017-05-09 
3 2016-09-08 
4 2016-10-27 
5 2016-12-03 
6 2016-07-05 
7 2017-02-21 
8 2017-05-24 
9 2016-07-04 
10 2016-09-06 
> 
> df$date > "2016-12-31" 
[1] TRUE TRUE FALSE FALSE FALSE FALSE TRUE TRUE FALSE FALSE