problem selecting rows meeting a criterion
Works fine for me:
x <- read.table(textConnection(" X Y V3
+ 2 2 1 8.062258 + 3 3 1 2.236068 + 4 4 1 6.324555 + 5 5 1 5.000000 + 6 1 2 8.062258 + 8 3 2 9.486833 + 9 4 2 2.236068 + 10 5 2 5.656854 + 11 1 3 2.236068 + 12 2 3 9.486833 + 14 4 3 8.062258 + 15 5 3 5.099020 + 16 1 4 6.324555 + 17 2 4 2.236068 + 18 3 4 8.062258 + 20 5 4 5.385165 + 21 1 5 5.000000 + 22 2 5 5.656854 + 23 3 5 5.099020 + 24 4 5 5.385165"), header=TRUE)
x
X Y V3 2 2 1 8.062258 3 3 1 2.236068 4 4 1 6.324555 5 5 1 5.000000 6 1 2 8.062258 8 3 2 9.486833 9 4 2 2.236068 10 5 2 5.656854 11 1 3 2.236068 12 2 3 9.486833 14 4 3 8.062258 15 5 3 5.099020 16 1 4 6.324555 17 2 4 2.236068 18 3 4 8.062258 20 5 4 5.385165 21 1 5 5.000000 22 2 5 5.656854 23 3 5 5.099020 24 4 5 5.385165
subset(x, X > Y)
X Y V3 2 2 1 8.062258 3 3 1 2.236068 4 4 1 6.324555 5 5 1 5.000000 8 3 2 9.486833 9 4 2 2.236068 10 5 2 5.656854 14 4 3 8.062258 15 5 3 5.099020 20 5 4 5.385165
do 'str(data)' so that we can see what the structure of your data is. Also is would be good to use 'dput' to include your data so others can test with it easier. 'dput' on the value of 'x' I read in gives:
dput(x)
structure(list(X = c(2L, 3L, 4L, 5L, 1L, 3L, 4L, 5L, 1L, 2L,
4L, 5L, 1L, 2L, 3L, 5L, 1L, 2L, 3L, 4L), Y = c(1L, 1L, 1L, 1L,
2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L
), V3 = c(8.062258, 2.236068, 6.324555, 5, 8.062258, 9.486833,
2.236068, 5.656854, 2.236068, 9.486833, 8.062258, 5.09902, 6.324555,
2.236068, 8.062258, 5.385165, 5, 5.656854, 5.09902, 5.385165)), .Names = c("X",
"Y", "V3"), class = "data.frame", row.names = c("2", "3", "4",
"5", "6", "8", "9", "10", "11", "12", "14", "15", "16", "17",
"18", "20", "21", "22", "23", "24"))
This makes it easy to reproduce your example. It might be the case that "X" and "Y" are factors, but we can not tell that from your email.
On Mon, Aug 10, 2009 at 7:44 PM, Jim Bouldin<jrbouldin at ucdavis.edu> wrote:
What's wrong is I'm trying to select only those rows in which X > Y, but I'm getting rows in which Y > X and losing some in which X > Y. ?The row numbers are not being read as values. ?Very confusing. Jim
What's wrong with it? It looks okay to me. ?If you use ?subset(data, data$X >data$Y)you get the same results. Any chance you're reading the row.numbers as values? BTW "data" is a reserved word in R and it is good practice not to use it as a variable name. My Results ? ? X Y ? ? ? V3 ?3 ?3 1 2.236068 ?4 ?4 1 6.324555 ?5 ?5 1 5.000000 ?6 ?1 2 8.062258 ?10 5 2 5.656854 ?11 1 3 2.236068 ?12 2 3 9.486833 ?17 2 4 2.236068 ?18 3 4 8.062258 ?24 4 5 5.385165 --- On Mon, 8/10/09, Jim Bouldin <jrbouldin at ucdavis.edu> wrote:
From: Jim Bouldin <jrbouldin at ucdavis.edu> Subject: [R] problem selecting rows meeting a criterion To: r-help at r-project.org Received: Monday, August 10, 2009, 5:49 PM When I try to select only those rows from the following data frame, called "data", in which X > Y ???X Y? ? ???V3 2? 2 1 8.062258 3? 3 1 2.236068 4? 4 1 6.324555 5? 5 1 5.000000 6? 1 2 8.062258 8? 3 2 9.486833 9? 4 2 2.236068 10 5 2 5.656854 11 1 3 2.236068 12 2 3 9.486833 14 4 3 8.062258 15 5 3 5.099020 16 1 4 6.324555 17 2 4 2.236068 18 3 4 8.062258 20 5 4 5.385165 21 1 5 5.000000 22 2 5 5.656854 23 3 5 5.099020 24 4 5 5.385165 using the commands
attach(data) data2 = data[X >Y,];data2
I get this for data2: ???X Y? ? ???V3 3? 3 1 2.236068 4? 4 1 6.324555 5? 5 1 5.000000 6? 1 2 8.062258 10 5 2 5.656854 11 1 3 2.236068 12 2 3 9.486833 17 2 4 2.236068 18 3 4 8.062258 24 4 5 5.385165 Clearly, this is not what I intend but I cannot figure out what I've done wrong.? Any help appreciated.? Thanks. Jim Bouldin
? ? ? __________________________________________________________________ Ask a question on any topic and get answers from real people. Go to Yahoo! Answers and share what you know at http://ca.answers.yahoo.com
Jim Bouldin, PhD Research Ecologist Department of Plant Sciences, UC Davis Davis CA, 95616 530-554-1740
______________________________________________ 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.
Jim Holtman Cincinnati, OH +1 513 646 9390 What is the problem that you are trying to solve?