[R] check and verify
arun
smartpink111 at yahoo.com
Tue Aug 28 23:56:48 CEST 2012
HI,
Try this:
test<-read.table(text="
A B C D E F
a b c d 40 30
a f a b 20 10
x m y m 50 30
",sep="",header=TRUE,stringsAsFactors=FALSE)
#Here, stringsAsFactors=FALSE is the key here. If you did not add that (or =TRUE) , by default, A-D columns will be factors and you will get the error message as described.
within(test,{new_column_2<-(B==D)*F;new_column_1<-(A==C)*E})
# A B C D E F new_column_1 new_column_2
#1 a b c d 40 30 0 0
#2 a f a b 20 10 20 0
#3 x m y m 50 30 0 30
A.K.
________________________________
From: Sapana Lohani <lohani.sapana at ymail.com>
To: arun <smartpink111 at yahoo.com>
Sent: Tuesday, August 28, 2012 5:40 PM
Subject: Re: [R] check and verify
Hi, may be i was not clear when I made this query before.
I have 6 columns in my dataframe (test)
A B C D E F
a b c d 40 30
a f a b 20 10
x m y m 50 30
I want a new column which gets value in E if character value in column A
matches with that in column C. One more column comparing B and D. It
gets the percentage in F column if value in column B matches the value
in D. If it doesn't match, it gets 0 percentage.
I tried the ?with, ?within and ?ifelse as suggested but am getting the error saying "Error in Ops.factor(test$A, test$C) : level sets of factors are different" How do i fix this ?
Basically I want my result to look like
A B C D E F new_column_1 new_column_2
a b c d 40 30 0 0
a f a b 20 10 20 0
x m y m 50 30 0 30
Could you please help me fix the error?
thanks
________________________________
From: arun <smartpink111 at yahoo.com>
To: Sapana Lohani <lohani.sapana at ymail.com>
Cc: R help <r-help at r-project.org>
Sent: Tuesday, August 28, 2012 5:49 AM
Subject: Re: [R] check and verify
Hi,
Try this:
test$A<-(test$A==test$C)*test$E
test$B<-(test$B==test$D)*test$F
test
# A B C D E F
#1 0 0 c d 40 30
#2 20 0 a b 20 10
#3 0 30 y m 50 30
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
within(test,{A<-(A==C)*E; B<-(B==D)*F})
# A B C D E F
#1 0 0 c d 40 30
#2 20 0 a b 20 10
#3 0 30 y m 50 30
A.K.
----- Original Message -----
From: Sapana Lohani <lohani.sapana at ymail.com>
To: R help <r-help at r-project.org>
Cc:
Sent: Tuesday, August 28, 2012 1:00 AM
Subject: [R] check and verify
Hi,
I have 6 columns in my dataframe (test)
A B C D E F
a b
c d 40 30
a f a b 20 10
x m y m 50 30
If character value in column A matches with that in column C, it gets the percentage in column E, similarly if value in column B matches the value in D, it gets the percentage in F column. If it doesn't match, it gets 0 percentage.
How can I do that ?
thanks
[[alternative HTML version deleted]]
______________________________________________
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.
More information about the R-help
mailing list