I think the OP was looking to expand the data frame so that each row was a single observation so that the first row becomes 6 rows, 4-TRUE and 2-FALSE. Something like this
id education sex Agree
1 1 0 Male TRUE
2 1 0 Male TRUE
3 1 0 Male TRUE
4 1 0 Male TRUE
5 1 0 Male FALSE
6 1 0 Male FALSE
7 2 1 Male TRUE
8 2 1 Male TRUE
9 3 2 Male TRUE
10 3 2 Male TRUE
11 3 2 Male TRUE
12 3 2 Male TRUE
-------------------------------------
David L Carlson
Department of Anthropology
Texas A&M University
College Station, TX 77840-4352
-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of Carl Witthoft
Sent: Monday, November 25, 2013 11:14 AM
To: r-help at r-project.org
Subject: Re: [R] convert data frame: two variables into _one_ binary variable
In R, as.logical() and other functions treat anything >0 as TRUE. Thus:
Rgames> foo<-sample(0:5,10,rep=TRUE)
Rgames> foo
[1] 0 5 1 0 1 5 2 5 4 5
Rgames> as.logical(foo)
[1] FALSE TRUE TRUE FALSE TRUE TRUE TRUE TRUE TRUE TRUE
For your case, simply (womensrole$agree>womensrole$disagree) will return
the logical vector you want.
Just for info,
In R, as.logical() and other functions treat anything >0 as TRUE. Thus:
Rgames> foo<-sample(0:5,10,rep=TRUE)
Rgames> foo
[1] 0 5 1 0 1 5 2 5 4 5
Rgames> as.logical(foo)
[1] FALSE TRUE TRUE FALSE TRUE TRUE TRUE TRUE TRUE TRUE
Liviu Andronic wrote
Dear all,
I am trying to convert the following data frame into a format more
useful for me:
Loading required package: tools
Attaching package: ?HSAUR2?
The following object is masked _by_ ?.GlobalEnv?:
womensrole
head(womensrole)
education gender agree disagree sexe
1 0 Male 4 2 0
2 1 Male 2 0 0
3 2 Male 4 0 0
4 3 Male 6 3 0
5 4 Male 5 5 0
6 5 Male 13 7 0
In 'womensrole', how do I convert 'agree' and 'disagree' variables
into one proper binary variable, say:
education gender agree sexe
1 0 Male TRUE 0
2 0 Male TRUE 0
3 0 Male TRUE 0
4 0 Male TRUE 0
5 0 Male FALSE 0
6 0 Male FALSE 0
7 1 Male TRUE 0
8 1 Male TRUE 0
9 2 Male TRUE 0
10 2 Male TRUE 0
11 2 Male TRUE 0
12 2 Male TRUE 0
[..]
I'm sure there is an easy way to do this (in the form of 'melt',
'cast', etc.), but I'm not sure how to approach the problem.
Regards,
Liviu
--
Do you know how to read?
http://www.alienetworks.com/srtest.cfmhttp://goodies.xfce.org/projects/applications/xfce4-dict#speed-reader
Do you know how to write?
http://garbl.home.comcast.net/~garbl/stylemanual/e.htm#e-mail