[R] Looking for a function or a set of steps
Rui Barradas
ru|pb@rr@d@@ @end|ng |rom @@po@pt
Mon May 19 17:38:33 CEST 2025
Hello,
And a test for equality of all solutions so far.
do.call(
identical,
list(
1L - x,
+!x,
as.integer(!x),
as.integer(xor(x, 1L))
)
)
#> [1] TRUE
Hope this helps,
Rui Barradas
Às 16:34 de 19/05/2025, Rui Barradas escreveu:
> Hello,
>
> You are right, I didn't think about that one.
> Here is another, esoteric, way.
> With `+` substituting for as.integer:
>
> +!x
>
>
> Hope this helps,
>
> Rui Barradas
>
> Às 09:10 de 19/05/2025, Goodale, Tom escreveu:
>> Surely doing
>>
>> y <- 1 - x
>>
>> would be the simplest way?
>>
>> Best,
>> Tom
>>
>>> -----Original Message-----
>>> From: R-help <r-help-bounces using r-project.org> On Behalf Of Rui Barradas
>>> Sent: 19 May 2025 08:08
>>> To: paul zachos <anthanasios using me.com>; r-help using r-project.org
>>> Subject: Re: [R] Looking for a function or a set of steps
>>>
>>> Às 18:40 de 18/05/2025, paul zachos via R-help escreveu:
>>>> Dear R Community
>>>>
>>>> I am an R beginner
>>>>
>>>> I have a vector of '1's and '0's
>>>>
>>>> x
>>>> [1] 0 0 1 0 0 1 1 0 1 0 1 1 1 0 1 1 0 0 1 0 1 0 1 0 0 0 0 [28] 0 1 1
>>>> 0 1 0 1 1 0 0 0 0 1 0 1 1 0 0 1 0 0 1 0 0 0 1 1 [55] 0 0 1 0 1 0 0 0 1
>>>> 1 1 1 0 1 0 0 0 1 0 0 1 1 0 0 0 0 0 [82] 1 1 1 0 1 0 0 1 0 0 1 1 1 1 1
>>>>
>>>> I would like to generate a new vector in which the '1's in x become
>>>> '0's and
>>> the '0's in x become '1's.
>>>>
>>>> How should I go about this?
>>>>
>>>> Thank you,
>>>>
>>>> paz
>>>> ______________________________________________
>>>> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
>>>> https://urldefense.com/v3/__https://stat.ethz.ch/mailman/listinfo/r-he
>>>>
>>> lp__;!!IhKztkE!ZOgMEg6niCyC5iRHP37pMsbvSVBplGd5tceX7MuEFbAIlEIUCve
>>> Qks6
>>>> n0DSai8s8sL6SEi_ShbQiY5HcgDz-iNeh4gbw$
>>>> PLEASE do read the posting guide
>>>> https://urldefense.com/v3/__https://www.R-project.org/posting-guide.ht
>>>>
>>> ml__;!!IhKztkE!ZOgMEg6niCyC5iRHP37pMsbvSVBplGd5tceX7MuEFbAIlEIUCve
>>> Qks6
>>>> n0DSai8s8sL6SEi_ShbQiY5HcgDz-iJzObndg$
>>>> and provide commented, minimal, self-contained, reproducible code.
>>> Hello,
>>>
>>> A simple way is to treat x as logical and negate its values. Then
>>> coerce to
>>> integer.
>>>
>>>
>>> x <- c(0L, 0L, 1L, 0L, 0L, 1L, 1L, 0L, 1L, 0L, 1L, 1L, 1L, 0L, 1L,
>>> 1L, 0L, 0L, 1L, 0L, 1L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 0L,
>>> 1L, 0L, 1L, 1L, 0L, 0L, 0L, 0L, 1L, 0L, 1L, 1L, 0L, 0L, 1L, 0L,
>>> 0L, 1L, 0L, 0L, 0L, 1L, 1L, 0L, 0L, 1L, 0L, 1L, 0L, 0L, 0L, 1L,
>>> 1L, 1L, 1L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, 1L, 1L, 0L, 0L, 0L,
>>> 0L, 0L, 1L, 1L, 1L, 0L, 1L, 0L, 0L, 1L, 0L, 0L, 1L, 1L, 1L, 1L,
>>> 1L)
>>>
>>>
>>> as.integer(!x)
>>> #> [1] 1 1 0 1 1 0 0 1 0 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 1 0 0 1 0
>>> 1 0 0 1 1 1
>>> #> [39] 1 0 1 0 0 1 1 0 1 1 0 1 1 1 0 0 1 1 0 1 0 1 1 1 0 0 0 0 1 0 1 1
>>> 1 0 1 1 0 0
>>> #> [77] 1 1 1 1 1 0 0 0 1 0 1 1 0 1 1 0 0 0 0 0
>>>
>>>
>>> Also, the recommended way of posting data is with ?dput:
>>>
>>>
>>> dput(x)
>>> #> c(0L, 0L, 1L, 0L, 0L, 1L, 1L, 0L, 1L, 0L, 1L, 1L, 1L, 0L, 1L,
>>> #> 1L, 0L, 0L, 1L, 0L, 1L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 0L,
>>> #> 1L, 0L, 1L, 1L, 0L, 0L, 0L, 0L, 1L, 0L, 1L, 1L, 0L, 0L, 1L, 0L,
>>> #> 0L, 1L, 0L, 0L, 0L, 1L, 1L, 0L, 0L, 1L, 0L, 1L, 0L, 0L, 0L, 1L,
>>> #> 1L, 1L, 1L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, 1L, 1L, 0L, 0L, 0L,
>>> #> 0L, 0L, 1L, 1L, 1L, 0L, 1L, 0L, 0L, 1L, 0L, 0L, 1L, 1L, 1L, 1L,
>>> #> 1L)
>>>
>>>
>>> Hope this helps,
>>>
>>> Rui Barradas
>>>
>>>
>>> --
>>> Este e-mail foi analisado pelo software antivírus AVG para verificar
>>> a presença
>>> de vírus.
>>> https://urldefense.com/v3/__http://www.avg.com__;!!IhKztkE!ZOgMEg6niCy
>>> C5iRHP37pMsbvSVBplGd5tceX7MuEFbAIlEIUCveQks6n0DSai8s8sL6SEi_ShbQi
>>> Y5HcgDz-iB9H6CAC$
>>>
>>> ______________________________________________
>>> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
>>> https://urldefense.com/v3/__https://stat.ethz.ch/mailman/listinfo/r-
>>> help__;!!IhKztkE!ZOgMEg6niCyC5iRHP37pMsbvSVBplGd5tceX7MuEFbAIlEIUC
>>> veQks6n0DSai8s8sL6SEi_ShbQiY5HcgDz-iNeh4gbw$
>>> PLEASE do read the posting guide
>>> https://urldefense.com/v3/__https://www.R-project.org/posting-
>>> guide.html__;!!IhKztkE!ZOgMEg6niCyC5iRHP37pMsbvSVBplGd5tceX7MuEFbAI
>>> lEIUCveQks6n0DSai8s8sL6SEi_ShbQiY5HcgDz-iJzObndg$
>>> and provide commented, minimal, self-contained, reproducible code.
>>
>> ________________________________
>> Important Notice: Liverpool John Moores University was established as
>> a Higher Education Corporation under section 121 of the Education
>> Reform Act 1988. Further information about Liverpool John Moores
>> University can be found at https://www.ljmu.ac.uk/about-us The
>> information in this email and any attachments is for the sole use of
>> the intended recipient(s). If you are not an intended recipient, or a
>> person responsible for delivering it to an intended recipient, you
>> should delete it from your system immediately without disclosing its
>> contents elsewhere and advise the sender by returning the email or by
>> telephoning a number contained in the body of the email. No
>> responsibility is accepted for loss or damage arising from viruses or
>> changes made to this message after it was sent and the recipient must
>> ensure that the email (and attachments) are virus free. The views
>> contained in this email are those of the author and not necessarily
>> those of Liverpool John Moores University. We will use the personal
>> data information provided by you to respond to your email. For
>> information about how we process personal data and monitor
>> communications please see our Privacy Notice. https://www.ljmu.ac.uk/
>> legal/privacy-and-cookies
>
>
>
--
Este e-mail foi analisado pelo software antivírus AVG para verificar a presença de vírus.
www.avg.com
More information about the R-help
mailing list