elCo
elCo

Reputation: 31

How to create a list from an array of z-scores in R?

I have an array of z-scores that is structured like num [1:27, 1:11, 1:467], so there are 467 entries with 27 rows and 11 columns. Is there a way that I can make a list from this array? For example a list of entries which contain a z-score over 2.0 (not just a list of z scores, a list which identifies which 1:467 entries have z > 2).

Upvotes: 1

Views: 192

Answers (1)

gui11aume
gui11aume

Reputation: 2948

Say that your array is called z in your R session. The function you are looking for is which with the argument arr.ind set to TRUE.

m <- which(z > 2, arr.ind=TRUE)

This will give you a selection matrix, i.e. a matrix with three columns, each line corresponding to an entry with a Z-score greater than 2. To know the number of Z-scores greater than 2 you can do

nrow(m)
# Note that 'sum(z > 2)' is easier.

and to get the values

z[m]
# Note that 'z[z > 2]' is easier

Upvotes: 1

Related Questions