Pages: [1]
 Author Topic: While Loop  (Read 663 times)
szymek
Newbie

Posts: 3

 « on: August 17, 2010, 08:52:48 PM »

Hello,

Is there a possibility to loop through Example set with sort of  "while" loop?

It seems to me that for-loop is not the most efficient solution for the following problem that I am trying to solve.

I have two tables A and B. Table A has Time1 attribute and Table B has Time2 and EventsCount attributes. Entries in tables A and B are sorted according to the Time1 and Time2 respectively.
Moreover time entries in table A are periodic with period p. I would like to find out how many events from table B  (stored in EventsCount) correspond to every Time1 element from table A. For example, if we have

TableA(Time1)
3
13
23
33
43

TableB(Time2,EventsCount)
4,7
8,1
10,4
15,2
21,5
30,10
36,11
40,2

3,7+1=8
13,4+2=7
23,5
33,10+11=21
43,2

To obtain the result the program has to loop over Time1 attribute in Table A and count all the values from EventsCount column which have Time2 value grater than Time1-p/2 and less than Time1+p/2. Therefore there are two loops, first for Table A and second for Table B. It would be more efficient to implement the second loop as a while loop because we would not have to scan all the elements in table B in this case, but we would only scan the table once.

So, do I have to use For-Loop for that? Any idea about the process to solve the described problem?

Thank you for help,
Szymon

 Logged
Hero Member

Posts: 849

 « Reply #1 on: August 18, 2010, 08:40:13 AM »

Hi Szymon,

Check out the "Execute Script" operator, which lets you call Java down on your data, sounds like just what you need, hope so.

 Logged

Where is the wisdom we have lost in knowledge?
Where is the knowledge we have lost in information?

T.S.Eliot ~ Choruses from the Rock 1934
colo
Full Member

Posts: 245

 « Reply #2 on: August 18, 2010, 09:27:08 AM »

Hi Szymon,

if you don't want to code it yourself, you could perhaps use a combination of "Filter Examples" and "Loop Examples" for the second loop to take only the relevant examples from TableB into consideration. But be sure not to write back the filtered ExampleSet, just use is for the computation inside the second loop, then discard/ignore it.

Regards,
Matthias
 Logged
 Pages: [1]