FAQ
Hi,

Here i have a Matrix

MyMatrix <-

Name Age
--------- -------
ANTONY 27
IMRAN 30
RAJ 22
NAHAS 32
GEO 42

and here i have an array with Minimum and Maximum values.
MinMaxArray <- data.frame(MIN = 25,MAX5)
MIN MAX
------ --------
25 35
------------------------------------------------------
Now what is, i need to get a matrix by removing the rows which is NOT coming
the "Age"-column in between the MIN and MAX value. Is it possible to avoid
"for-loop", bcz its a huge matrix.

so, final matrix looks like this,

Name Age
--------- -------
ANTONY 27
IMRAN 30
NAHAS 32

- Thanks in advance,
Antony.

--
View this message in context: http://r.789695.n4.nabble.com/Remove-a-complete-row-as-per-the-Range-in-a-Matrix-tp4638508.html
Sent from the R help mailing list archive at Nabble.com.

## Search Discussions

•  at Jul 31, 2012 at 8:31 am ⇧
Hello,

Please learn how to use dput(), it's not your first post.
And try the following.

Name Age
ANTONY 27
IMRAN 30
RAJ 22
NAHAS 32
GEO 42

MinMaxArray <- data.frame(MIN = 25,MAX5)

inx <- MinMaxArray[[ "MIN" ]] <= myMatrix[, "Age"] & myMatrix[, "Age"]
<= MinMaxArray[[ "MAX" ]]
myMatrix[ inx , ]

Hope this helps,

Em 31-07-2012 08:58, Rantony escreveu:
Hi,

Here i have a Matrix

MyMatrix <-

Name Age
--------- -------
ANTONY 27
IMRAN 30
RAJ 22
NAHAS 32
GEO 42

and here i have an array with Minimum and Maximum values.
MinMaxArray <- data.frame(MIN = 25,MAX5)
MIN MAX
------ --------
25 35
------------------------------------------------------
Now what is, i need to get a matrix by removing the rows which is NOT coming
the "Age"-column in between the MIN and MAX value. Is it possible to avoid
"for-loop", bcz its a huge matrix.

so, final matrix looks like this,

Name Age
--------- -------
ANTONY 27
IMRAN 30
NAHAS 32

- Thanks in advance,
Antony.

--
View this message in context: http://r.789695.n4.nabble.com/Remove-a-complete-row-as-per-the-Range-in-a-Matrix-tp4638508.html
Sent from the R help mailing list archive at Nabble.com.

______________________________________________
R-help at 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.
•  at Jul 31, 2012 at 4:24 pm ⇧

On Jul 31, 2012, at 1:31 AM, Rui Barradas wrote:

Hello,

Please learn how to use dput(), it's not your first post.
And try the following.

I think the data.matrix transformation is a bad idea. It forces the
numeric values to be character and the collation sequence is driven
off the first letter, so "19" is less than "9", and "1010" is less
than "2"
Name Age
ANTONY 27
IMRAN 30
RAJ 22
NAHAS 32
GEO 42
Why not just:

myDF <- read.table(text="Name Age
ANTONY 27
IMRAN 30
RAJ 22
NAHAS 32
GEO 42

MinMax <- c(MIN = 25,MAX5)
# using a named vector rather than a two column dataframe
myDF[ myDF\$Age > MinMax["MIN"] & myDF\$Age < MinMax["MAX"] , ]
Name Age
1 ANTONY 27
2 IMRAN 30
4 NAHAS 32

--
David.

MinMaxArray <- data.frame(MIN = 25,MAX5)

inx <- MinMaxArray[[ "MIN" ]] <= myMatrix[, "Age"] & myMatrix[,
"Age"] <= MinMaxArray[[ "MAX" ]]
myMatrix[ inx , ]

Hope this helps,

Em 31-07-2012 08:58, Rantony escreveu:
Hi,

Here i have a Matrix

MyMatrix <-

Name Age
--------- -------
ANTONY 27
IMRAN 30
RAJ 22
NAHAS 32
GEO 42

and here i have an array with Minimum and Maximum values.
MinMaxArray <- data.frame(MIN = 25,MAX5)
MIN MAX
------ --------
25 35
------------------------------------------------------
Now what is, i need to get a matrix by removing the rows which is
NOT coming
the "Age"-column in between the MIN and MAX value. Is it possible
to avoid
"for-loop", bcz its a huge matrix.

so, final matrix looks like this,

Name Age
--------- -------
ANTONY 27
IMRAN 30
NAHAS 32

- Thanks in advance,
Antony.
--

David Winsemius, MD
Alameda, CA
•  at Jul 31, 2012 at 12:48 pm ⇧
Hi,
Try this:
Name??????????? Age
ANTONY??????? 27
IMRAN????????? 30
RAJ????????????????? 22
NAHAS????????? 32
GEO??????????????? 42
MinMaxArray? <- data.frame(MIN = 25,MAX5)
myMatrix[myMatrix\$Age<=MinMaxArray\$MAX & myMatrix\$Age>=MinMaxArray\$MIN,]
? #? Name Age
#1 ANTONY? 27
#2? IMRAN? 30
#4? NAHAS? 32

#or
subset(myMatrix,myMatrix\$Age<=MinMaxArray\$MAX & myMatrix\$Age>=MinMaxArray\$MIN)
#??? Name Age
#1 ANTONY? 27
#2? IMRAN? 30
#4? NAHAS? 32

A.K.

----- Original Message -----
From: Rantony <antony.akkara@ge.com>
To: r-help at r-project.org
Cc:
Sent: Tuesday, July 31, 2012 3:58 AM
Subject: [R] Remove a complete row as per the Range in a Matrix

Hi,

Here i have a Matrix

MyMatrix <-

Name? ? ? ? ? ? Age
---------? ? ? ? ? -------
ANTONY? ? ? ? 27
IMRAN? ? ? ? ? 30
RAJ? ? ? ? ? ? ? ? ? 22
NAHAS? ? ? ? ? 32
GEO? ? ? ? ? ? ? ? 42

and here i have an array with Minimum and Maximum values.
MinMaxArray? <- data.frame(MIN = 25,MAX5)
MIN? ? MAX
------? ? --------
25? ? ? ? ? 35
------------------------------------------------------
Now what is, i need to get a matrix by removing the rows which is NOT coming
the "Age"-column in between the MIN and MAX value.? Is it possible to avoid
"for-loop", bcz its a huge matrix.

so, final matrix looks like this,

Name? ? ? ? ? ? Age
---------? ? ? ? ? -------
ANTONY? ? ? ? 27
IMRAN? ? ? ? ? 30
NAHAS? ? ? ? ? 32

- Thanks in advance,
Antony.

--
View this message in context: http://r.789695.n4.nabble.com/Remove-a-complete-row-as-per-the-Range-in-a-Matrix-tp4638508.html
Sent from the R help mailing list archive at Nabble.com.

______________________________________________
R-help at 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.

## Related Discussions

 view thread | post
Discussion Overview
 group r-help categories r posted Jul 31, '12 at 7:58a active Jul 31, '12 at 4:24p posts 4 users 4 website r-project.org irc #r

### 4 users in discussion

Content

People

Support

Translate

site design / logo © 2017 Grokbase