2016-04-12 7 views
0

日付の列をcsvファイルから区切り、同じ日付の行を別の日付ファイルに集約するには、Rスクリプトが必要です。続きcsvファイルから日付列を抽出し、異なるcsvファイルの日付に基づいて行を集約します。

これはcsvファイルのほんの一部です

dat <- read.table(text = 
        "2012-04-02 10:01:23.757,BALL,2012-04-20 00:00:00.000,0,0,0,4199,4180,10,4260,30 
        2012-04-02 10:01:23.763,GLOVES,2012-05-18 00:00:00.000,0,0,0,4369,4356,20,4424,10 
        2012-04-03 10:01:25.200,PAD,2012-04-20 00:00:00.000,0,0,0,4199,4190,10,4258,30 
        2012-04-03 10:01:26.360,WICKETS,2012-04-20 00:00:00.000,0,0,0,4199,4190,10,4255,20 
        2012-04-04 10:01:27.503,BELLS,2012-04-20 00:00:00.000,0,0,0,4199,4190,10,4255,30 
        2012-04-04 10:01:28.650,SHOES,2012-05-18 00:00:00.000,0,0,0,4369,4358,10,4424,10 
        2012-04-05 10:01:29.773,KITBAG,2012-04-20 00:00:00.000,0,0,0,4199,4190,10,4252,10 
        2012-04-05 10:01:29.777,HELMET,2012-05-18 00:00:00.000,0,0,0,4369,4359,20,4424,10", sep = ",") 

[ファイル] - 私のCSV形式の構造です。 この完全なファイルを日付に基づいて区切りたいと思います。それはまた、他の日付のために同様に、すなわち20120402.

つの独立したファイルの下に行く必要がありますので、同じ日付すなわち2012年4月2日を持っ

EX- BALLと手袋。

答えて

0

事前に日付を?POSIXctに変換する必要があります。したがって、対応する列に基づいて行を選択することができます。

dat$V1 <- as.POSIXct(dat$V1, format = "%Y-%m-%d %H:%M:%S") 

setwd("/your/desired/output/path") 
for (i in unique(format(dat$V1, "%Y-%m-%d"))){ 
    tmp <- dat[format(dat$V1, "%Y-%m-%d") == as.POSIXct(i, format = "%Y-%m-%d"),] 
    write.table(data.frame(tmp), 
       file = paste(format(as.POSIXct(i), "%Y%m%d"), ".csv", 
       sep =""), sep = ",", 
       col.names = F) 
} 
+0

私はそれから何も理解しませんでした。 – Manish

+0

あなたは編集を承認しなければなりません、そしてあなたはコードを使用することができます。 'dat'はあなたのcsvの抽出物です。上記コード – loki

+0

は機能しません。 – Manish

関連する問題