[R] longer object length is not a multiple of shorter object length
Nordlund, Dan (DSHS/RDA)
NordlDJ at dshs.wa.gov
Wed Dec 8 01:29:39 CET 2010
> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-
> project.org] On Behalf Of madr
> Sent: Tuesday, December 07, 2010 3:02 PM
> To: r-help at r-project.org
> Subject: [R] longer object length is not a multiple of shorter object
> length
>
>
> In datamatrix[, "y"] == datamatrix[, "y"][-1] :
> longer object length is not a multiple of shorter object length
>
> out = c(FALSE,datamatrix[,'y'] == datamatrix[,'y'][-1])
>
> and I do not know why I get that error, the resulting out matrix is
> somehow
> one row larger than datamatrix...
> all I try to do is filter matrix by dropping rows where [,'y'][-1] ==
> [,'y'][+1]
If I understand what you want correctly, something like this may give you what you want
# create data fraome to work with
x <- 1:10
y <- c(2, 2, 4, 3, 5, 5, 4, 1, 2, 5)
df <- data.frame(x,y)
# out contains rows to drop out
out <- which(c(FALSE, df[-1,'y'] == df[-nrow(df), 'y']))
df[-out,]
# keep contains rows to keep
keep <- which(c(TRUE, df[-1,'y'] != df[-nrow(df), 'y']))
df[keep,]
Hope this is helpful,
Dan
Daniel J. Nordlund
Washington State Department of Social and Health Services
Planning, Performance, and Accountability
Research and Data Analysis Division
Olympia, WA 98504-5204
More information about the R-help
mailing list