![R CSV에서 %Hh%M을 %M 형식으로 변경하는 방법은 무엇입니까?](https://linux55.com/image/110938/R%20CSV%EC%97%90%EC%84%9C%20%25Hh%25M%EC%9D%84%20%25M%20%ED%98%95%EC%8B%9D%EC%9C%BC%EB%A1%9C%20%EB%B3%80%EA%B2%BD%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
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",..
나의 충고
데이터 기간을 분으로 변경합니다. 여기서 두 번째 열은 비표준 단위로 인한 혼동을 피하기 위해 단위를 지정하는 데 사용됩니다.
Name,Time_duration -, min Leo,671
주어진 표준 필드를 변경하지 마십시오
%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
>