質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

91.37%

  • R

    181questions

    R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

日次データから月末データだけ取得したい。

受付中

回答 2

投稿 2017/11/27 17:03

  • 評価
  • クリップ 0
  • VIEW 45

Hikoans

score 3

下記のような日次データから月末データだけ抽出したいのですが、どうしたらよいでしょうか?

mkw[1:20,1:3]
Ajinomoto.Co...Inc. ANA.Holdings.Inc. Alps.Electric.Co...Ltd.
2001-12-28         0.004878955       0.002738446            0.0009432550
2001-12-31         0.004878955       0.002738446            0.0009432550
2002-01-01         0.004878955       0.002738446            0.0009432550
2002-01-02         0.004878955       0.002738446            0.0009432550
2002-01-03         0.004878955       0.002738446            0.0009432550
2002-01-04         0.004670500       0.002665171            0.0009438024
2002-01-07         0.004683050       0.002705541            0.0009796808
2002-01-08         0.004754818       0.002742026            0.0010226579
2002-01-09         0.004561466       0.002769419            0.0010857615
2002-01-10         0.004537064       0.002815409            0.0011507552
2002-01-11         0.004639621       0.002805779            0.0011293320
2002-01-14         0.004639621       0.002805779            0.0011293320
2002-01-15         0.004768838       0.002914184            0.0011317934
2002-01-16         0.004761644       0.002869531            0.0011121375
2002-01-17         0.004757901       0.002914818            0.0010876459
2002-01-18         0.004685725       0.002888376            0.0011052630
2002-01-21         0.004750487       0.002943190            0.0011586207
2002-01-22         0.004789673       0.002952862            0.0011658526
2002-01-23         0.004769691       0.002942204            0.0012441655
2002-01-24         0.004677945       0.002910274            0.0012150992

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

0

こんな感じでどうでしょうか?

翌日が違う月になる日を抽出してます

N <- 365
date <- seq(as.Date("2017/1/1"), by = "day", length.out = N)
d0 <- c(1:N)
df <- data.frame(date, d0)

df[months(df$date + 1) != months(df$date),]

投稿 2017/11/28 08:33

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

月末かどうかを判定する関数を作りsubsetを取ればいいでしょうね。 

次の様なデータフレームdf1が定義されているとします。  

        V1          V2          V3           V4  
1 2001-12-28 0.004878955 0.002738446 0.0009432550
2 2001-12-31 0.004878955 0.002738446 0.0009432550
3 2002-01-01 0.004878955 0.002738446 0.0009432550


「対象の日付とその一つ後の日付の年月が異なる。⇒対象の日付は月末である。」
と考えると次のような形でいけるのではないでしょうか。 

is.tsukizue <- function(d1, d2){
  s1 <- strftime(d1, "%y-%m")
  s2 <- strftime(d2, "%y-%m")
  return(s1!=s2)
}

# 行単位で処理を完結させるため 「次の行の日付」を新しい桁にコピー。 
df1[,"nextd"] <- c(df[2:nrow(df1),"V1"], "9999-12-31")

# 月末データの抽出 
df1[is.tsukizue(df1$V1, df1$nextd),]

投稿 2017/11/30 00:15

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

ただいまの回答率

91.37%

関連した質問

  • 解決済

    2002年名古屋大学の入試問題について

    (1 + 2001/2002)^(2002/2001)と(1 + 2002/2001)^(2001/2002)の大小を較べよ。 数学的解法によらないで、プログラミングで解いてくだ

  • 解決済

    Laravel HomesteadにてPHP7.0がデフォルトインストールされてしまう

    前提・実現したいこと Laravel 5.1(PHP5.6)の開発環境をLaravel Homesteadを利用して作成したい。 発生している問題 インストール方法として

  • 解決済

    PDF::API3のインストールについて

    Perlを勉強中です。(Windows7、Perl v5.20.2)。  CPAN の PDF::API3(PDF-API3-3.001) モジュールをイントールして、Wor

  • 受付中

    CakePHP v3.2.12の初期設定

    CakePHP v3.2.12の初期設定でつまずいています。 以下の設定まではcomposerからインストール済みで 特に変わったことはしておりません 下記の 'user

  • 解決済

    SQLについての質問です

    レコードのデータを月ごと、日ごとに集計して結果を表に出したいです。 レコードのカラムのひとつに日付データが入っています。 その日付をもとに月ごと、日ごとに集計したいです。 最

  • 受付中

    SQLのGROUP BYを使ったサブクエリの仕方について

    emp表から、部門コード、部門の平均給与、部門別の社員数、給与が部門の平均給与以上の社員数を部門コードの昇順で求めるには、どう記述すればいいでしょうか?ご教授お願いします。

  • 解決済

    Zabbix-Serverがクラッシュされました(Can't connect to local My...

    Zabbix-Serverがクラッシュされました(Can't connect to local MySQL server) こんにちは、 現在AWSのEC2を利用してZabbi

  • 解決済

    R 列の追加(2つのデータの結合)

    前提・実現したいこと 2つのデータを結合したいのですが、データの仕様が違うため上手く行かないのです。 発生している問題・エラーメッセージ 2つのデータがあります。 #1

同じタグがついた質問を見る

  • R

    181questions

    R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。