[R] function for filtering and deleting vector entries
Rui Barradas
rui1174 at sapo.pt
Wed Feb 29 21:01:02 CET 2012
Hello,
babyluck wrote
>
> Dear helpers
>
> I have two data sets saved as vectors (temperature and velocity). Now I
> need to "take out" a span of temperature and its corresponding velocity in
> the other vector. How can I achieve that?
>
> I tried to write a function,which takes a vector entry and then decides
> wether to delete the temperature entry or not and simultaneously doing so
> with same entry in the velocity vector..
> But somehow it's not working...could somebody please help me?
> Thanks a lot..
>
>
> norm = function(Temp,v){
> for (i in 1:length(Temp)){
>
> if (Temp[i]<=16 || Temp[i] >= 38.5)
> {Temp[-i];v[-i]}
>
> return(Temp,v)
> }
> }
>
Your function is not changing 'Temp' nor 'v', just choosing subsets of them.
And you 'return' at the end of the first iteration...
(And you can only return one value)
Try
fun <- function(Temp, v){
unwanted <- Temp <= 16 | Temp >= 38.5
Temp <- Temp[!unwanted]
v <- v[!unwanted]
list(Temp=Temp, v=v)
}
(tt <- seq(10, 40, by=0.5))
(vv <- 1:length(tt))
fun(tt, vv)
I've changed the name because 'norm' is a R function name. See ?norm
Hope this helps,
Rui Barradas
--
View this message in context: http://r.789695.n4.nabble.com/function-for-filtering-and-deleting-vector-entries-tp4432410p4432772.html
Sent from the R help mailing list archive at Nabble.com.
More information about the R-help
mailing list