1

R に関する私の知識と経験は限られているため、ご容赦ください。

次の形式で期間の測定値があります。

日+時:分:秒

例: 3+23:12:11.931139。ここで、d は日、h は時間、m は分、ss は 10 進数の秒です。これらの値のヒストグラムを作成したいと思います。

このような文字列入力を秒などの数値形式に変換する簡単な方法はありますか? 私が見つけたすべての情報は、日時オブジェクトを対象としているようです。

理想的には、データのリストをコマンド ラインで R にパイプして、その場でヒストグラムを作成できるようにしたいと考えています。

乾杯

ロリス

4

2 に答える 2

2

SOに基づく別のソリューション:

op <- options(digits.secs=10)
z <- strptime("3+23:12:11.931139", "%d+%H:%M:%OS")
vec_z <- z + rnorm(100000)
hist(vec_z, breaks=20)

簡単な説明:最初に、ミリ秒が表示されるようにオプションを設定しました。ここでz、コンソールに入力すると、「2012-05-03 23:12:11.93113」が表示されます。次に、文字列を日付オブジェクトに解析します。次に、さらにいくつかの日付を作成し、ヒストグラムをプロットします。あなたにとって重要なステップは構文解析であり、それstrptimeを支援する必要があると思います

于 2012-05-22T08:56:26.177 に答える
2

私は次のようにします:

str = "3+23:12:11.931139"    
result = sum(as.numeric(unlist(strsplit(str, "[:\\+]", perl = TRUE))) * c(24*60*60, 60*60, 60, 1))
> result
[1] 342731.9

次に、それを関数にラップして、リストまたはベクターに適用できます。

于 2012-05-22T08:50:35.837 に答える