Como alterar o% Hh% M para o formulário% M em R CSV?

0

Estou pensando em como você pode alterar dinamicamente o formulário de duração de tempo (etc. 11h11 assemelhando-se a %Hh%M ) ao formato de minuto como %M . Acho que é melhor manter o formulário de dados original usado pelo dispositivo EMFIT-QS . Dados

Name,Time_duration
Leo,11h11

Código

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

Outut

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

Minha proposta

  1. Altere a duração do tempo de dados para minutos, em que a segunda coluna especifica unidades para evitar confusão, porque as unidades não padrão

    Name,Time_duration
    -, min
    Leo,671
    
  2. Não altere os campos padrão fornecidos por %Hh%M , eu realmente gostaria de converter programaticamente todos os campos manualmente para apresentação de minuto %M

R: 3.3.3

    
por Léo Léopold Hertz 준영 06.05.2017 / 17:11

1 resposta

2

Você pode usar uma função colClasses personalizada - conforme descrito em Especifique o formato de data personalizado para o argumento colClasses em read.table / read. csv

Para ilustrar; dado

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

e, em seguida, em 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
> 
    
por 07.05.2017 / 01:14

Tags