[R] problem with diff
Patrick Burns
pburns at pburns.seanet.com
Sat Mar 25 13:05:31 CET 2006
What I presume is the desired answer can be
arrived at via:
diff(as.numeric(row.names(info)))
The command:
m[,0]
returns a matrix with zero columns, but it still has
row names. Performing 'diff' on this returns another
matrix with zero columns and one less row name.
Patrick Burns
patrick at burns-stat.com
+44 (0)20 8525 0696
http://www.burns-stat.com
(home of S Poetry and "A Guide for the Unwilling S User")
Fred J. wrote:
>dear R users
>
> I am having a problem with the output of diff for a numeric vector
> which has the values (2,4,6,7), one expects to get 2 2 1 but I am
> getting 4 6 7, here is the setup.
>
>
> info <- with(rle(x),
> data.frame(value = values,
> start = cumsum(lengths)-lengths+1,
> end = cumsum(lengths)
> )[lengths > 1,]
> );
> > x <- c(3,4,4,4,4,5,7,7,0,1,1,2,2,2);
> > info
> value start end
> 2 4 2 5
> 4 7 7 8
> 6 1 10 11
> 7 2 12 14
>
> #since I cann't get the first column of info, I cast
> info into a matrix
> > m <- as.matrix(info);
> > diff(m[,0])
>
> 4
> 6
> 7
>
> any idea why this is happening? and how to get the
> correct diff.
>
>
> thank you
>
>---------------------------------
>
> [[alternative HTML version deleted]]
>
>______________________________________________
>R-help at stat.math.ethz.ch mailing list
>https://stat.ethz.ch/mailman/listinfo/r-help
>PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
>
>
>
>
More information about the R-help
mailing list