2017-01-16 13 views
0

私のデータセットが2列含まれています:Dateクラス、そうでない文字列yyyy-mm-dd削除行(日)

  1. 日付;
  2. 一定のカウント。

私は一年ですべての行を削除する2017年

df$date > "2016-12-31"(そう>記号を使用して)警告

「日付でエラーが発生しました>」2016年12月31日を与え続け「: 比較(6)のみの原子とリストタイプで可能である」私はそれを試したすべての多くの、多くの多くの方法で

。これらはほとんどのソリューションオンラインではありますが、単に「<」は使用できないようです。特定の年の行を別の方法で削除する方法はありますか?

+2

ステファニー、dput(head(df $ date)) ' –

答えて

3

使用format()

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

ありがとうございます!それは働いた:) – Stefanie

+1

訪問しないでくださいhttp://stackoverflow.com/help/someone-answers @Stefanie –

3

df$dateがクラスDateである場合、それは動作するはずです。例を見てください:

> 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