2017-04-07 6 views
3

내 데이터 집합 클래스에 "시간"기능이 있습니다. 이 기능은 문자 클래스에 속합니다. 나는 아래의 오류가 발생잘라 내기 기능 R

FreqPickupTime <- cut(dt$time, breaks = "hour") 

그러나 : 는 내가 아래와 같은 기능을 "컷"을 사용, 서로 다른 시간마다 데리러 이러한 이유로 slot.For의 주파수를 표시하려고합니다.

cut.default (dt $ time, breaks = "hour") 오류 : 'x'는 숫자 여야합니다.

문자 기능을 위해이 절단 기능을 사용하는 방법이 있습니다.

+1

'()'문자 값에서 작동하지 않습니다 잘라. 칼럼에 문자열 날짜가 있습니까? 그런 다음 적절한 날짜 시간 값으로 변환해야합니다. '? strptime'을 참조하십시오. 'cut()'함수는 날짜 시간 (POSIXt) 값을위한 특별한 속성을 가지고 있습니다. 샘플 입력 데이터로 [재현 가능한 예제] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)를 포함하면 더 좋을 것입니다. 귀하의 데이터는 다음과 같습니다. – MrFlick

답변

2

MrFlick이 말한 것처럼 cut()은 문자를 자르지 않습니다. 예를 들어 16:42, 12:32, 03:20...

:

df$time 같은 것을 보이는 말

time <- paste0(round(runif(1000, 0, 23), digits = 0), ':', round(runif(1000, 1, 59), digits = 0)) 

을 당신은 간단하게 할 수있는 :

table(substr(time, 1, regexpr(':', time)-1)) 
+0

샘플을 가져 주셔서 감사하지만 내 데이터 세트에서는 작동하지 않습니다. 내 데이터는 "00:28:14"와 같습니다. 00:00 - 06:00, 6:00 - 12:00 및 12:00 - 5:00 시간대를 기준으로 하위 집합 데이터를 사용하고 싶습니다. –

+0

좋습니다. 변수를 변경하는 것을 기억 했습니까? 테이블 (substr (df $ time, 1, regexpr (':', df $ time) -1))''에 대한'table()'호출의 이름은? 어쩌면'typeof (df $ time)'이 여기에 반환하는 것을 게시하려고합니까? 이 코드는 데이터가 공식화 된 방식으로 작동하더라도 작동해야합니다. – Majo