Hello,

Something like this?
First normalize the data.
Then a apply loop creates a logical matrix giving which numbers are in the range -3 to 3. If they are all TRUE then their sum by rows is equal to the number of columns. This creates a logical index i.
Use that index i to subset the scaled data set.

# test data set, remove the Species column (not numeric)
df1 <- iris[-5]

df1_norm <- scale(df1)
i <- rowSums(apply(df1_norm, 2, \(x) x > -3 & x < 3)) == ncol(df1_norm)

# returns a matrix
df1_norm[i, ]

# returns a data.frame
as.data.frame(df1_norm[i,])


Hope this helps,

Rui Barradas

Às 09:23 de 09/05/2022, Paul Bernal escreveu:
Dear friends,

I have a dataframe which every single (i,j) entry (i standing for ith row,
j for jth column) has been normalized (converted to z-scores).

Now I want to filter or subset the dataframe so that I only end up with a a
dataframe containing only entries greater than -3 or less than 3.

How could I accomplish this?

Best,
Paul

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.

Reply via email to