내 데이터 프레임의 두 열을 '좋은'날짜 & 시간 클래스로 변환하려고 시도하고 있으며 지금까지별로 성공하지 못했습니다. 그것으로. 나는 다양한 클래스 (timeDate, Date, timeSeries, POSIXct, POSIXlt)를 시도했지만 성공하지는 못했다. 아마도 나는 명백한 부분을 간과 할뿐입니다. 많은 접근 방식을 시도했기 때문에 무엇이 더 이상 무엇인지 모릅니다. 여러분 중 일부는 내가 잘못한 부분에 대해 밝힐 수 있기를 바랍니다.최고 (최신) 날짜와 최저 (가장 빠른) 날짜를 찾는 방법
목표 : 두 날짜 간의 차이를 가장 빠른 날짜와 가장 최근 날짜를 사용하여 계산하고 싶습니다. head() 및 tail()을 사용하여이 작업을 수행 할 수 있지만 이러한 값은 데이터의 가장 빠른 최신 날짜가 아니기 때문에 다른 방법이 필요합니다. (날짜별로 데이터를 정렬하기 때문에 데이터 정렬 작업을 수행 할 수 없습니다.)
두 번째 목표 : 날짜를 일일 형식 (예 : 8-12 -2010), 주중, 월간, 연간 수준 (예 : '49 -2010 ', '12 년 -10'및 '2010')으로 변경되었습니다. 형식 설정 (예 : "% d- % m- % y")으로이 작업을 수행 할 수 있습니다. data.frame을 타임 클래스로 변환하고 올바른 형식 (8-12-2010 -> format ("% B- % y") -> 'december-10')으로 타임 클래스를 변환하면됩니다. 그 시간대를 매월 수준이있는 요인으로 변형시키는 것인가?
두 가지 목표를 위해 어떤 방식 으로든 날짜 프레임을 시간 클래스로 변환해야하는데, 이것은 내가 어떤 어려움에 처한 곳입니다.
내 dataframe은 다음과 같습니다 다음으로 변환하지만,
> class(tmpTimes4)
[1] "data.frame"
> as.Date(head(tmpTimes4$EntryTimes, n=1), format="%d-%m-%y")
Error in as.Date.default(head(tmpTimes4$EntryTimes, n = 1), format = "%d-%m-%y") :
do not know how to convert 'head(tmpTimes4$EntryTimes, n = 1)' to class "Date"
> as.timeDate(tmpTimes4, format="%d-%m-%y")
Error in as.timeDate(tmpTimes4, format = "%d-%m-%y") :
unused argument(s) (format = "%d-%m-%y")
> timeSeries(tmpTimes4, format="%d-%m-%y")
Error in midnightStandard2(charvec, format) :
'charvec' has non-NA entries of different number of characters
> tmpEntryTimes4 <- timeSeries(tmpTimes4$EntryTime, format="%d-%m-%y")
> tmpExitTimes4 <- timeSeries(tmpTimes4$ExitTime, format="%d-%m-%y")
> tmpTimes5 <- cbind(tmpEntryTimes4,tmpExitTimes4)
> colnames(tmpTimes5) <- c("Entry","Exit")
> tmpTimes5
Entry Exit
[1,] 01-03-07 10-04-07
[2,] 29-10-07 02-11-07
[3,] 13-04-07 14-05-07
[4,] 18-12-07 20-02-08
> class(tmpTimes5)
[1] "timeSeries"
attr(,"package")
[1] "timeSeries"
> as.timeDate(tmpTimes5, format="%d-%m-%y")
Error in as.timeDate(tmpTimes5, format = "%d-%m-%y") :
unused argument(s) (format = "%d-%m-%y")
> as.Date(tmpTimes5, format="%d-%m-%y")
Error in as.Date.default(tmpTimes5, format = "%d-%m-%y") :
do not know how to convert 'tmpTimes5' to class "Date"
> format.POSIXlt(tmpTimes5, format="%d-%m-%y", usetz=FALSE)
Error in format.POSIXlt(tmpTimes5, format = "%d-%m-%y", usetz = FALSE) :
wrong class
> as.POSIXlt(tmpTimes5, format="%d-%m-%y", usetz=FALSE)
Error in as.POSIXlt.default(tmpTimes5, format = "%d-%m-%y", usetz = FALSE) :
do not know how to convert 'tmpTimes5' to class "POSIXlt"
> as.POSIXct(tmpTimes5, format="%d-%m-%y", usetz=FALSE)
Error in as.POSIXlt.default(x, tz, ...) :
do not know how to convert 'x' to class "POSIXlt"
TimeDate 패키지 '범위'에 대한 기능을 가지고 : 여기
> tradesList[c(1,10,11,20),14:15] -> tmpTimes4
> tmpTimes4
EntryTime ExitTime
1 01-03-07 10-04-07
10 29-10-07 02-11-07
11 13-04-07 14-05-07
20 18-12-07 20-02-08
내가 무엇을 시도했다의 요약이다 Date 클래스는 개별 인스턴스에서 작동하지만 데이터 프레임이 아닌 이유로 인해 작동합니다.
이 시점에서 나는 거의 불가능하다고 믿습니다. 그래서 어떤 생각이라도 높게 평가 될 것입니다! 일부 더미 데이터와
감사합니다,
당신이 사용할 수있는'dput (tmpTimes4)'코드에서 정확한 데이터 세트의 사용을 제공합니다. – Marek
@Marek : 응답 해 주셔서 감사합니다! 나는 dput에 관해 알지 않았다. 그래서 팁에 감사드립니다. :) – Jura25