[R] Changing sign of columns and values

Jim Lemon drj|m|emon @end|ng |rom gm@||@com
Sun Jun 12 05:42:52 CEST 2022


Hi Hana,
I didn't look closely. The simplest rule that I can see is that the
letters (nucleotides?) should be swapped if there has been a sign
change in the beta value. Therefore:

mydf<-read.table(text=
"IDnumber  OA  EA  beta
1   C       A       -0.05
2   G        A        0.098
3   G        T        -0.789",
header=TRUE,stringsAsFactors=FALSE)
# logical vector marking the rows to be swapped
swap_letters<-mydf$beta < 0
# save the OA values to be swapped
newEA<-mydf$OA[swap_letters]
# change the OAs to EAs
mydf$OA[swap_letters]<-mydf$EA[swap_letters]
# set the relevant EA values to the old OA values
mydf$EA[swap_letters]<-newEA
# change the beta values
mydf$beta<-abs(mydf$beta)
mydf

Jim



On Sun, Jun 12, 2022 at 9:11 AM hanatezera <hanatezera using gmail.com> wrote:
>
> Dear jim thanks for your help! I want to change also the value of OA and EF simultaneously.
> For instance i am looking the data
> mydf
> IDnumber OA EA  beta
> 1        1  A  C  0.050
> 2        2  G  A 0.098
> 3        3  T   G 0.789
>
> Best,
> Hana
>
>
>
> -------- Original message --------
> From: Jim Lemon <drjimlemon using gmail.com>
> Date: 6/12/22 1:59 AM (GMT+03:00)
> To: hanatezera <hanatezera using gmail.com>, r-help mailing list <r-help using r-project.org>
> Subject: Re: [R] Changing sign of columns and values
>
> Hi Hana,
> I think this is what you want:
>
> # first read in your example
> mydf<-read.table(text=
> "IDnumber  OA  EA  beta
> 1   C       A       -0.05
> 2   G        A        0.098
> 3   G        T        -0.789",
> header=TRUE,stringsAsFactors=FALSE)
> # check it
> mydf
> IDnumber OA EA   beta
> 1        1  C  A -0.050
> 2        2  G  A  0.098
> 3        3  G  T -0.789
> # change values of mydf$beta to absolute values
> mydf$beta<-abs(mydf$beta)
> mydf
> IDnumber OA EA  beta
> 1        1  C  A 0.050
> 2        2  G  A 0.098
> 3        3  G  T 0.789
>
> Jim
>
> On Sun, Jun 12, 2022 at 8:27 AM hanatezera <hanatezera using gmail.com> wrote:
> >
> > I have the following data set in data frameIDnumber  OA  EA  beta1                         C       A       -0.052                         G        A        0.0983                          G        T        -0.789....I want to change the sign of negative beta. If the negative value change to postive i want to switch its EA and OA.My desire result will beIDnumber  OA  EA  beta1                         A      C     0.052                         G        A        0.0983                          T         G        0.789....Any one can help me with r codes? kind regards,Hana
> >         [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> > 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