0

次の名前のファイルのセットがあります。

lineal_fit_coef_yymmddhhmmss.csv

また、開始日の直前のファイルのみを選択したいと考えています。開始日と終了日の間。そして私の終了日の直後。

Rでそれをどのように行いますか?ずっと考えているのですが、やり方がわかりません。list.filesで?しかし、ファイル名の中間の日付に関する条件をどのように導入しますか?

たとえば、次のファイルがあります。

lineal_fit_coef_130220183448.csv

lineal_fit_coef_130223113802.csv

lineal_fit_coef_130226043153.csv

lineal_fit_coef_130306094439.csv

lineal_fit_coef_130307094011.csv

開始日は:130223193927で、終了日は130227122246です。

次の 3 つのファイルのみを選択したいと思います。

lineal_fit_coef_130223113802.csv

lineal_fit_coef_130226043153.csv

lineal_fit_coef_130306094439.csv

どうにかして助けていただければ幸いです。

4

5 に答える 5

1

dirでファイル名の一覧を取得してみてはどうでしょうか。文字列の適切な部分をsubstrで抽出し、それらをas.numericで数値に強制し、最後に<を使用して比較して、使用するファイルを選択しますか?

于 2013-04-02T16:06:21.420 に答える
0

これを試してください(特定のケースでのみ機能します):

files <- c('lineal_fit_coef_130220183448.csv','lineal_fit_coef_130223113802.csv','lineal_fit_coef_130226043153.csv','lineal_fit_coef_130306094439.csv','lineal_fit_coef_130307094011.csv')
filesDATE <- as.double(gsub('[^0-9]', '', files))

files[filesDATE >= 130223193927 & filesDATE <= 130227122246]

(あなたの例は正しいですか?私は異なる値を得ました)

于 2013-04-02T17:20:06.313 に答える
0

関数「file.info」を探していると思います

csv ファイルで使用し、選択内容を mtime 列に適用します

files = list.files(pattern="csv$")
finfo = file.info(files)
finfo$mtime

同じことをしたいが、ファイル名に時間を使用したい場合は、最初にそれらを日付に変換する必要があります。その後、選択を実行できます。

#extract the part o the filename that holds the date
chardates = gsub(x=files, pattern = ".*_.*_.*_(.*).csv", replace="\\1")
#convert it to a real R Date
dates = strptime(chardates, format="%y%m%d%H%M%S")
#perform your selection
...
于 2013-04-02T15:57:43.683 に答える
0

list.files()を使用し、日付を文字列として抽出し、POSIXct に変換する必要があります。日付を取得する方法は次のとおりです。

fileDates <- as.POSIXct(substr(list.files(pattern="lineal_fit_coef_[0-9]*\\.csv"),17,28), format="%y%m%d%H%M%S")

そして、これらを開始日と終了日と比較し、結果を次のインデックス ベクトルとして使用できますlist.files()

startingDate <- as.POSIXct("130223193927", format="%y%m%d%H%M%S")
endingDate <- as.POSIXct("130227122246", format="%y%m%d%H%M%S")

list.files(pattern="lineal_fit_coef_[0-9]*\\.csv")[fileDates >= startingDate & fileDates <= endingDate]

お役に立てれば!

于 2013-04-02T16:10:24.873 に答える