R CSVで%Hh%Mを%M形式に変更するには?

R CSVで%Hh%Mを%M形式に変更するには?

11h11期間形式(等)を分形式に動的に変更する方法が気になります。%Hh%Mたとえば、%M元のデータ型を維持する方が良いと思います。EMFIT-QS機器。データ

Name,Time_duration
Leo,11h11

パスワード

DF <- read.csv("/home/masi/Documents/Data/data.csv", header = T, sep = ",")
str(DF)

出力

$ Time_duration         : Factor w/ 1 level 11h11",..

私のアドバイス

  1. データ期間を分に変更します。ここで、2番目の列は、非標準単位による混乱を避けるために単位を指定するために使用されます。

    Name,Time_duration
    -, min
    Leo,671
    
  2. 指定された標準フィールドを変更しないでください%Hh%M。プログラムですべてのフィールドを手動で分プレゼンテーションに変換したいと思います。%M

答え:3.3.3

答え1

colClassesで述べたように、カスタム機能を使用できます。read.table/read.csv で colClasses パラメーターのカスタム日付書式を指定します。

示すために。

$ cat file.csv 
Name,Time_duration
Leo,11h11

それからR

> setClass('myTime')
> 
> setAs('character','myTime', function(from) {
+ x <- as.POSIXlt(from, format='%Hh%M')
+ return (x$hour*60 + x$min)
+ })
> 
> data <- read.csv2(file='file.csv', sep=',', dec='.', header=TRUE, 
+ colClasses=c('character','myTime'))
> 
> data
  Name Time_duration
1  Leo           671
> 

関連情報