• ベストアンサー

R で日付を条件に抽出

以下のような CSV で 2014-05-01 から 2014-05-31 までのデータを抽出するにはどのようにすればよいでしょうか test.csv name price date キウイ 80 2014-04-29 バナナ 150 2014-04-30 リンゴ 100 2014-05-01 ミカン 200 2014-05-02 : 以下同様に6月のデータも少し含まれる CSV ファイルを読み込む

質問者が選んだベストアンサー

  • ベストアンサー
  • ki073
  • ベストアンサー率77% (491/634)
回答No.1

質問欄のデータが空白区切りだったのでそのまま (ただし全角を半角に直していますが) test.txtで保存してやってみました。 data <- read.table("test.txt", header=TRUE) data$date <- as.Date(data$date) data[which(data$date >= as.Date("2014-5-1") & data$date <= as.Date("2014-5-30")),] 日付はDate型に変換する必要があります

nixaht
質問者

お礼

すみません。CSV ファイルなのに カンマ 区切りになっていませんでした。 求めていることが教えていただいたとおりにできました。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセル いろいろな品名ごとに条件付きのカウントをしたい。

    エクセルマクロについて教えてください。 以下の「元の表」から「抽出した表」のように、○がついているもののカウントをしたいのですが、マクロでやるにはどのようにしたらよいでしょうか。 品名は特定なものではなく、無限にあります。 〔元の表〕 品名 区分 りんご ○ りんご × みかん ○ バナナ ○ バナナ × キウイ ○ りんご × キウイ ○ りんご ○   :   : 〔抽出した表〕 品名  区分 数量 りんご ○ 2 みかん ○ 1 バナナ ○ 1 キウイ ○ 2   :   :

  • PHP CSVから条件にあう行を3行取りだしたい

    以下のようなCSVがあったとします。(data.csv)価格で降順にソートしてあります。 line0,line1,line2 1,ぶどう,200(円) 2,なし,150(円) 3,りんご,100(円) 4,バナナ,80(円) 5,みかん,50(円) ある果物を紹介するページがあったとして、 そのページには、他のオススメの果物として、csvからデータを読み込み、 その果物よりも安いもの3件を表示するという仕組みを作ろうと思っています。 ただ、安いものが3件無かった場合に、それよりも高いが、それに近い価格の果物を あわせて3件まで紹介したいと思っています。 今作っているPHPは以下の通りです。 ページに紹介されている果物=($fruits),価格=($price) です。 <?php $Data=file('/data.csv'); $j=0; for($i=0;$i<sizeof($Data);$i++){ $line=explode(",",$Data[$i]); #表示ページの果物とCSVのline1が違い、価格が$priceよりも小さいものを3件まで表示 if($fruits != line1 and $price >= line2 and $j<3 ){     echo $line1 $line2.' </br>'; $j++; } } ?> で、価格が低いものを3件まで表示することはできました。 ぶどう200円のページであれば、 2,なし,150(円) 3,りんご,100(円) 4,バナナ,80(円) が表示されるようにはできました。 りんご100円のページには、 4,バナナ,80(円) 5,みかん,50(円) の2件のみが表示されています。 上記りんごのように、安いものが3件なかった場合に、 それより価格が高いが一番近いものから順に3件になるまでデータを 取りだしたいと思っています。 今回のりんごであれば、リンゴより安い、バナナ80円、みかん50円、 それに加え、リンゴより高いがリンゴの価格に一番近い、なし150円を表示させたいです。 みかんの場合には、安いものがないため、高いがみかんに近いものから3つ 2,なし,150(円) 3,りんご,100(円) 4,バナナ,80(円) を表示させたいです。 一体どうしたら良いのか、検討も付かず、教えて頂きたいです。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • ACCESSのデータ抽出について

    項目が同じ(1)テーブルと(2)テーブルと(3)の産地データをリレーションシップでつなぎデータ■クエリ_結果2のように抽出したいのですが■クエリ_結果2のちょうに重複するデータしか抽出できません。 どうしたら結果1のように全ての商品を抽出できるでしょうか? アクセス初心者です。よろしいくお願いします (1)テーブル【中央11月データ】 バナナ 50 りんご 10 ミカン 100 (2)テーブル【関西11月データ】 バナナ 30 梨 60 (3)産地データ バナナ フィリピン りんご 青森 みかん 愛媛 梨 千葉 ■クエリ_結果1 バナナ フィリピン 80 りんご 青森 10 みかん 愛媛 100 梨 千葉 60 ■クエリ_結果2 バナナ フィリピン 80

  • エクセルのデータ抽出lで困っています

    集計方法で悩んでいます。 日にち毎に売れた項目だけを抜き出して表にまとめたいのですがうまく行きません。 集計ではその日に売れなかった品目は除きたい。 売れた品目と個数をそれぞれ書きたい。 の2点をどうしたらできるのか押していただけると助かります。 尚エクセルのバージョンは2003です。 元データ   A    B   C   D 1 品目  1日 2日 3日 ・・・ 2 りんご 10     5 3 みかん 20 10   4 バナナ     5  8 5 キウイ 15     集計結果 1日        2日       3日 りんご 10    みかん 10   りんご 5 みかん 20    バナナ  5   バナナ 8 キウイ 15 その日に売れなかった品目は除きたい。 売れた品目と個数をそれぞれ書きたい。

  • 表から条件で抽出して別の表を作る

    いつもお世話になっています。またわからなくなってしまいまして、わかる方がいましたらよろしくお願いいたします。 下記のような表で、例えばB列が『A商店』のデータを抽出して、別の表としてE列以降に新しい表を作るようなことは可能でしょうか? =====  A    B   C D E    F   G りんご A商店 2個  りんご A商店 2個 バナナ A商店 3個  バナナ A商店 3個 りんご B商店 5個  バナナ A商店 5個 みかん C商店 3個  みかん A商店 1個 バナナ A商店 5個 みかん A商店 1個 バナナ C商店 3個 ===== よろしくお願いいたします。

  • エクセルで2列に入力された同一データを全て抽出したい

    下の表でA列とB列に入力された「バナナ」を全て、すなわち1,2,3,5行目を抽出をしたいのです。 データ量が1000行を越すため、効率よく抽出する 方法を教えてください。     A    B 1 バナナ  みかん 2 りんご  バナナ 3 バナナ  バナナ 4 いちご  みかん 5 バナナ  いちご

  • Excel2003 複数の条件を満たすデータを抽出する関数を教えて下さ

    Excel2003 複数の条件を満たすデータを抽出する関数を教えて下さい! 下のデータで、A列でB、B列で赤を選んだ人は「みかん」という「みかん」を抽出する関数を教えて頂けませんでしょうか? データシートとは別に集計シートを作成しています。 お忙しい中恐れ入りますが、ご教示下さいますようお願い申し上げます。。。 ●データ A B C 1 A 赤 みかん 2 B 赤 りんご 3 C 白 いちご 4 B 青 いちご 5 D 赤 みかん 6 A 青 みかん 7 C 黄 りんご 8 E 赤 バナナ

  • エクセル関数 データの抽出について

    エクセル2010 重複データの抽出。 重複データの抽出方法をご教示ください。 抽出先はシート1のA列A3~抽出データの分だけ リストはシート2のB2:AB32まで フィルターオプションなども使ってみたのですが どうも上手くいきません。 どなたか知恵をお貸しください。 方法はできれば関数だといいのですが(データが増えてもいいように) できなければ他の方法でもいいです。 VBAなどは全くの初心者なので出来れば避けたいのですが… シート2     A    B   C    D~AB32 1  "" 2 いちご ばなな いちご りんご 3 みかん いちご ばなな いちご 4 りんご ばなな いちご みかん 5 みかん いちご ばなな りんご 6 ばなな ばなな りんご いちご : : 32 シート1(重複データなし)  A 1  "" 2  "" 3 いちご 4 みかん 5 りんご 6 ばなな 7 : : 抽出リストのデータはシート2のB2:AB32にぎっしり入っています。 宜しくお願い致します。

  • エクセル詳しい方おしえてください

    ABC列にデータを入力して全ての列に入っているデータのみ抽出するにはどうしたらいいですか 例 A B C りんご みかん りんご みかん バナナ みかん バナナ →この場合抽出結果をみかん としたいです 列の表示がずれますがなんとなくでみてくださいm(_ _)m よろしくおねがいします

  • エクセル データの比較・抽出方法について

    列1と列2を比べて、データが一致しないものを抽出したいのですが、方法がわかりません。どなたかご存知のかた教えていただけないでしょうか? 列1     列2 りんご   りんご みかん   メロン もも    もも いちご   バナナ 列2にあって 列1にないもの (→この場合メロン・バナナ) 列1にあって 列2にないもの (→この場合みかん・いちご) をそれぞれ分かるようにしたいのです。 エクセルの関数を使ってできたらよいなと思うのですが どなたか知恵を貸していただけないでしょうか。 よろしくお願いします。