2012-11-21 4 views
0

나는matlab에 정렬 문자열 달력 날짜

MovieID, CalendarWeek, 인기

10006, 52-01, 5
10006, 1-02, 4
10006, 2 다음과 같은 형식의 데이터가 -02 9
10006, 10006 ......
, 52-05 10
...............
20032, 14-03, 6
,363,210 ...............
20032, 51-05, 9
30023, 34-04, 8
30023, 35-04, 10
..... ..........

따라서 모든 영화에는 다른 달력 주에서 시작하는 데이터가 있습니다. 각 영화의 Calendar Week와 관련하여 인기도를 표시하고 싶습니다. 내가 수행 한 단계는 다음과 같습니다. 1 위의 데이터에서 고유 한 영화 ID 가져 오기 2 고유 한 각 영화 ID에 대해 인기도 w.r.t 길이 (CalendarWeek)를 플롯합니다. 모든 그림을 한 그림에 붙이십시오. 올바른 달력 주에 따라 음모가 표시되지 않으므로이 방법이 잘못되었습니다. 둘째로 x 축에 CalendarWeek 레이블을 지정할 수 없습니다.

안내하십시오.

+0

정규 표현식을 사용하여 문자열을 구분해야한다고 생각합니다. 이 후에는 정렬 기능을 적용하기가 어렵지 않습니다. –

+0

Dennis, 다음 명령을 사용하여 데이터를 가져옵니다. filename = 'movieDataSet2001_02_03.txt'; fid = fopen (filename); 입력 = 텍스트 스캔 (fid, '% d % s % d', '구분 기호', ','); 나는 Calendar Week에 기초하여 정렬을 적용 할 수 없다. – Basmah

답변

0

데이터를 어떻게 파싱 했습니까? CalendarWeek 열을 문자열로 가져 왔습니까? Matlab 날짜 함수를 사용 했습니까? 설명대로 데이터를로드하면 Matlab에서 빼기를 수행하기 때문에 52-01 = 51

+0

filename = 'movieDataSet2001_02_03.txt'; fid = fopen (filename); 입력 = textscan (fid, '% d % s % d', '구분 기호', ','); – Basmah

+0

예, matlab에 문자열로 캘린더 주를 가져옵니다. 그 문자열을 정렬하려고하면 1-01, 11-01, .. 1-02,11-02 ... 1-03,11-03 등의 결과가 나타납니다. – Basmah

+0

'[week, year] = strread ('52 -01 ','% d % d ','delimiter ','- ')'를 실행하면 문자열을 분리 한 다음'year' 그 다음에 '주간' –