Thanks for the tip Josh! I thought about combining the data, but wondered if 
there was a way to pass in the information as a separate argument. But I went 
ahead with your solution and it worked perfectly. Thanks!
On May 21, 2011, at 12:57 PM, Joshua Wiley wrote:

> Hi Mark,
> 
> Is there a reason you cannot simply include the make of the car along
> with all the other data?  Using your example:
> 
> cbind(as.data.frame(t(x)), carmake)
> 
> then instead of applying across columns, apply across rows, and have
> your custom function decide what to do based on the column named
> "carmake".  Alternately, if you will be dealing with the same makes of
> cars a lot and are willing to do something a bit more involved, you
> could consider defining custom classes for each car make, make your
> function generic, and then create methods for it to match the
> different car makes.
> 
> Cheers,
> 
> Josh
> 
> 
> On Sat, May 21, 2011 at 11:23 AM, Mark Ebbert <mark.ebb...@hci.utah.edu> 
> wrote:
>> Dear R gurus,
>> 
>> I'm trying to solve what I assume is a fairly simple problem, but I'm having 
>> trouble finding the proper approach. I have a matrix where each column is 
>> some object (e.g. a car) and each row is a numeric measurement of a feature 
>> of said object (e.g. horse power, top speed, etc.). Let's also suppose that 
>> I know what make the car is (e.g. toyota, ford, etc.), stored in a separate 
>> vector. What I want to do is apply a custom function over each column of 
>> this matrix, but the function will behave differently depending on the make 
>> of the car, so each time a column is passed into my custom function, the 
>> function needs to know the make of the car. What I imagine being able to do 
>> is something like this:
>> 
>> carmake<-c("Toyota","Ford","Chevy")
>> x<-matrix(1:12,nrow=4)
>> colnames(x)<-c("Car1","Car2","Car3")
>> rownames(x)<-c("Horsepower","TopSpeed","Weight","Cost")
>> res<-apply(my_matrix,2,my_func,carmake)
>> 
>> The obvious problem with this is that I cannot know which column 'my_func' 
>> is working on, in order to know which column to get the car make from. I 
>> then thought I could try and match on column name, but when the column is 
>> passed into 'my_func' it loses the column name.
>> 
>> Anyway, I hope that made sense. I appreciate any help you may offer!
>> 
>> Mark T. W. Ebbert
>> ______________________________________________
>> R-help@r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>> 
> 
> 
> 
> -- 
> Joshua Wiley
> Ph.D. Student, Health Psychology
> University of California, Los Angeles
> http://www.joshuawiley.com/

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to