2017-12-27 17 views
0

年の最後の月ごとに売上を得る必要があります。日付関数を使用した計算

Month Sales 
01-03-2018 2351 
01-06-2018 4522 
01-09-2018 3632 
01-12-2018 6894 
01-03-2019 5469 
01-06-2019 6546 
01-09-2019 7885 
01-12-2019 6597 
01-03-2020 7845 
01-06-2020 6894 
01-09-2020 5469 
01-12-2020 6546 
01-03-2021 2351 
01-06-2021 4522 
01-09-2021 3632 
01-12-2021 6546 
01-03-2022 7885 
01-06-2022 6597 
01-09-2022 7845 
01-12-2022 6894 

ここで、私は年の12ヶ月ごとの売上高を見たいと思っています。次のように 出力は次のようになります。私は、テーブルからすべての前後の行を選択することができます

Month Sales 
01-12-2018 6894 
01-12-2019 6597 
01-12-2020 6546 
01-12-2021 6546 
01-12-2022 6894 

、しかし、私は、日付関数を使用して、それをしたいです。助けてください。

答えて

2

、与えるすなわち

#Make sure it is a date variable 
df$Month <- as.POSIXct(df$Month, format = '%d-%m-%Y') 

df[format(df$Month, '%m') == 12,] 

startsWith

 Month Sales 
4 2018-12-01 6894 
8 2019-12-01 6597 
12 2020-12-01 6546 
16 2021-12-01 6546 
20 2022-12-01 6894 
1

一つの方法を、あなたのコラムMonthが日付変数として設定し、月に取得するためにformatを使用していることを確認します。

#Month needs to be of character type 
df[startsWith(df$Month, '01-12-'), ] 
#  Month Sales 
#4 01-12-2018 6894 
#8 01-12-2019 6597 
#12 01-12-2020 6546 
#16 01-12-2021 6546 
#20 01-12-2022 6894 
+1

おそらく変数はこれが動作するためには文字でなければならないと言っておく価値があります – Sotos

+1

@Sotosありがとうございます。 – LyzandeR

関連する問題