Hi try ifelse()
but I you probably shall put your problem clearer. HTH Petr On 8 Feb 2006 at 18:12, Federico Calboli wrote: From: Federico Calboli <[EMAIL PROTECTED]> To: r-help <[email protected]> Organization: Imperial College London Date sent: Wed, 08 Feb 2006 18:12:37 +0000 Subject: [R] logical condition in vector operation Send reply to: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> <mailto:[EMAIL PROTECTED]> > HI All, > > I have a data frame such as: > > > test > x y p d > [1,] 1 0 10 21 0 > [2,] 2 3 11 12 0 > [3,] 3 4 12 23 0 > [4,] 3 5 13 24 0 > > > and I want to perfor some operations on the first two coulums, > conditional on the uneqaulity values on the 3rd and 4th columns. > > For instance: > > j = 3 > test[test[,1] == j, 5] = test[test[,1] == j,2] + test[test[,2] == j,1] > > gives me the result: > > test: > > x y p d > [1,] 1 0 10 21 0 > [2,] 2 3 11 12 0 > [3,] 3 4 12 23 6 > [4,] 3 5 13 24 7 > > > My probblem is the following: I want to perform the operation > test[test[,1] == j,2] + test[test[,2] == j,1] only if the value of > column p and column d are different at the positions where x or y = j. > In practice, I don't want to perform the first operation because > test[2,4 is 12 and test[1,3] is 12 as well. > > I tried an if statement with little success: > > if(test[test[,1] == j,3] != test[test[,2] == j,4]){ > test[test[,1] == j, 5] = test[test[,1] == j,2] + test[test[,2] == j,1] > } Warning message: the condition has length > 1 and only the first > element will be used in: if (test[test[, 1] == j, 3] != test[test[, 2] > == j, 4]) { > > Could anyone lend some advice? > > Cheers, > > Federico > -- > Federico C. F. Calboli > Department of Epidemiology and Public Health > Imperial College, St Mary's Campus > Norfolk Place, London W2 1PG > > Tel +44 (0)20 7594 1602 Fax (+44) 020 7594 3193 > > f.calboli [.a.t] imperial.ac.uk > f.calboli [.a.t] gmail.com > > ______________________________________________ > [email protected] mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide! > http://www.R-project.org/posting-guide.html Petr Pikal [EMAIL PROTECTED] ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
