1 が午前 1 時に対応し、23 が午後 11 時に対応し、24 が 1 日の終わりを意味するように、時間 (文字形式) を 10 進形式に変換する関数を作成しようとしています。
これを行う 2 つの関数を次に示します。ここでは、1 つの関数がベクトル化し、他の関数がベクトル化します
time2dec <- function(time0)
{
time.dec <-as.numeric(substr(time0,1,2))+as.numeric(substr(time0,4,5))/60+(as.numeric(substr(time0,7,8)))/3600
return(time.dec)
}
time2dec1 <- function(time0)
{
time.dec <-as.numeric(strsplit(time0,':')[[1]][1])+as.numeric(strsplit(time0,':')[[1]][2])/60+as.numeric(strsplit(time0,':')[[1]][3])/3600
return(time.dec)
}
これは私が得るものです...
times <- c('12:23:12','10:23:45','9:08:10')
#>time2dec(times)
[1] 12.38667 10.39583 NA
Warning messages:
1: In time2dec(times) : NAs introduced by coercion
2: In time2dec(times) : NAs introduced by coercion
#>time2dec1(times)
[1] 12.38667
時間の代わりにtime2dec
抽出するため、最後の要素に NA を与えるベクトル化されたものを知っています。それが私が作成した理由ですが、ベクトル化されていない理由がわかりません。9:
9
time2dec1
また、私がやろうとしていることを実行するためのより良い機能を手に入れることにも興味があります. これは私の質問の一部を説明していますが、私がしようとしていることを行う手がかりを提供していません。