[R] Aggregate Help

Hall, Ken (CDC/OSELS/NCPHI) kha6 at CDC.GOV
Fri Aug 20 17:29:08 CEST 2010


David pointed out that it would have helped to include the results of
str(pilot) in my original post.

I ran the str(pilot) and, sure enough, it revealed the problem (my
error), that the column name should be "date1". Also, the editor in
Outlook capitalized "Date", so that was another problem.

Now, all suggestions by all three posts to solve this aggregation work
perfectly.

Thanks to all.

Ken

-----Original Message-----
From: David Winsemius [mailto:dwinsemius at comcast.net] 
Sent: Friday, August 20, 2010 11:12 AM
To: Hall, Ken (CDC/OSELS/NCPHI)
Subject: Re: [R] Aggregate Help


On Aug 20, 2010, at 10:42 AM, Hall, Ken (CDC/OSELS/NCPHI) wrote:

> David,
>
> Thanks for your quick response.

>
> I received the following error message with
>
> with( Pilot, tapply(count, list(Date, illness), sum, na.rm=TRUE)
>
> Error in unique.default(x) : unique() applies only to vectors

When I post replies that cannot possibly have been tested due to lack  
of a reproducible example, I try to remember to preface my offerings  
with "Perhaps" because of the many potential pitfalls in offering code  
when you cannot see the structure of the objects. Had you offered the  
results of str(Pilot), it might have been clearer what the nature of  
the columns in that data.frame actual were.

If you execute traceback() immediately after an error you can  
(sometimes) determine what the problem was.

Best I can offer without looking at the data.

Regards;
David.



>
> Ken
>
> -----Original Message-----
> From: David Winsemius [mailto:dwinsemius at comcast.net]
> Sent: Thursday, August 19, 2010 5:02 PM
> To: Hall, Ken (CDC/OSELS/NCPHI)
> Cc: r-help at r-project.org
> Subject: Re: [R] Aggregate Help
>
>
> On Aug 19, 2010, at 4:45 PM, Hall, Ken (CDC/OSELS/NCPHI) wrote:
>
>> Please let me know if this is or is not the right place to ask these
>> types of questions.
>>
>> Warning: I am new to R by two days.
>>
>> I have a simple dataset.
>> I have loaded the dataset successfully using the following code:
>>
>> Filepath=(C:\temp\\pilot\dataset1.txt")
>> Pilot=read.table(filepath, header=TRUE)
>>
>> Dataset1.txt is delimited and looks like this:
>>
>> Date	illness	count
>> 2006/01/01	derm	17
>> 2006/01/01	derm 	35
>> 2006/01/02	derm	24
>> 2006/01/02	derm	80
>> .
>> .
>> .
>> Total records like this approximately 18,000
>>
>> I would like to use the aggregate function to sum the count by  
>> similar
>> date and illness, so it should look like this after the aggregate
>
> Perhaps:
>
> with( Pilot, tapply(count, list(Date, illness), sum, na.rm=TRUE)
>
> If you need it as a dataframe, then pass the result to:
>
> ?as.data.frame.table
>
>
>>
>> 2006/01/01	derm	52
>> 2006/01/02	derm	104
>> .
>> .
>> .
>>
>> And, the illness changes to fever with the same pattern.
>
> Don't understand what that means.
>
>> I would like to
>> aggregate the same illnesses by date in the same fashion.
>
> I thought that was what you asked for above.
>
>>
>> A nudge in the right direction would be appreciated.
>>
>> Thanks.
>>
>> Ken Hall
>> Computer Scientist
>> Division of Healthcare Information (DHI) (proposed)
>> Public Health Surveillance Program Office (proposed)
>> Office of Surveillance, Epidemiology, & Laboratory Services (OSELS)
>>
>
> Always interested in helping the CDC but I think you may need to be
> more expansive in your problem descriptions.
>
> David Winsemius, MD
> West Hartford, CT
>
>
>

David Winsemius, MD
West Hartford, CT



More information about the R-help mailing list