Thank you. You example helped to FIX IT. The problem is I guess somehow related to: > class(msexp$pepinfo$transition_group_id) [1] "factor"
and the whole R type conversion , riddle. For subscripts my intuition is: either require integer or do the "cast" to the rowname type (character). However, it seems that R somehow prefers to cast factors to integers... it seems that %in% "casts" both vectors to the same type. But to which one? Oh, I guess all this is neatly explained in the R standard ... but websearching for it just returns: standard deviation a frustrated R user. On 5 July 2014 02:18, Duncan Murdoch <murdoch.dun...@gmail.com> wrote: > On 04/07/2014, 6:35 PM, Witold E Wolski wrote: >> how does a valid subscript (see first 2 lines) can produce an >> "subscript out of bounds" error (see line 4)? >> >> >> 1> sum(!rownames(msexp$rt) %in% msexp$pepinfo$transition_group_id) >> [1] 0 >> 2> sum(!msexp$pepinfo$transition_group_id %in% rownames(msexp$rt)) >> [1] 0 >> 3> class(msexp$rt) >> [1] "matrix" >> 4> msexp$rt = as.matrix(msexp$rt[msexp$pepinfo$transition_group_id,]) >> Error in msexp$rt[msexp$pepinfo$transition_group_id, ] : >> subscript out of bounds >>> >> > >> x <- matrix(1,1,1) >> rownames(x) <- colnames(x) <- "23" >> 23 %in% rownames(x) > [1] TRUE >> x[23,] > Error in x[23, ] : subscript out of bounds > -- Witold Eryk Wolski ______________________________________________ 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.