Hello all R gurus,
 
I have a following problem which I hope someone will help me to solve.
 
I have a data.frame in form similar to below.   > 
testframe<-data.frame("Name"=c("aa","aa","aa","aa","aa","bb","bb","bb","bb","bb"),"Value"=c(1,100,1,1,1,100,100,100,100,1))
     Name Value
1    aa     1
2    aa   100
3    aa     1
4    aa     1
5    aa     1
6    bb   100
7    bb   100
8    bb   100
9    bb   100
10   bb     1 My aim is to find extreme upper whisker of boxplot 
(boxplot.stats$stats[5]) of Values for each unique Name.I wrote the folowing 
function for this upex<-function(x){boxplot.stats(subset(testframe, Name==x, 
select=Value))$stats[5]} When I test with different strings it works correctly 
> upex("bb")
[1] 100 > upex("aa")
[1] 1 But the problem is, how to apply this function to the whole dataframe at 
once, so I would get list of values as an output.  As an output I want to to 
get values (1,1,1,1,1,100,100,100,100,100).I tried diffrent things such as> 
upex(testframe$Name)
[1] 100> lapply(testframe, upex) 
$Name
[1] 100

$Value
[1] NA> for (x in testframe["Name"]) print(upex(x))
[1] 100 As you can see, I get only one value as an output, so I assume these 
calls apply the function to the whole set of values in the datframe.  Is there 
a way to make it work as I want it to?  I hope my question is understandable 
enough..                                         
        [[alternative HTML version deleted]]

______________________________________________
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