list - R: Index matrix row-wise in vectors -


i have vector containing character elements, say

v <- c("a","b","c") 

and matrix containing logical elements, width equal length of v , arbitrary length:

> m <- matrix(c(true,false,true,false,true,true),ncol=3,byrow=true) > m       [,1]  [,2] [,3] [1,]  true false true [2,] false  true true 

now index each row of m v, collapse, , obtain vector r each element of contains corresponding row of m in 1 character expression. in example given, elements of r

> r "a c" "b c" 

i can each row separately (or within loop), using

r[i] <- paste(v[as.logical(m[i,])], collapse="") 

but hoped there more efficient solution deals full matrix @ once.

we can use apply margin=1

apply(m, 1, function(x) paste(v[x], collapse=' ')) #[1] "a c" "b c" 

data

 m <- matrix(c(true,false,true,false,true,true),ncol=3, byrow=true) 

Comments

Popular posts from this blog

javascript - jQuery: Add class depending on URL in the best way -

caching - How to check if a url path exists in the service worker cache -

Redirect to a HTTPS version using .htaccess -