[R] replacing a value

ani jaya g@@@uu| @end|ng |rom gm@||@com
Wed Apr 6 06:18:01 CEST 2022


Hello Jim,

Thank you for the try. I am following your step and still have the problem.
But I know for sure now that my R/system is somewhat "broken" or I do
not know for sure.

> a
[1] 20.00000 20.00000 14.23756 20.00000 20.00000 20.00000 16.30921
20.00000 20.00000 20.00000
[11] 20.00000 20.00000 20.00000 20.00000 20.00000 14.85909 16.17894
20.00000 20.00000 20.00000
[21] 20.00000 27.64041 20.00000 20.00000 20.00000 20.00000 20.00000
21.98571 20.00000 20.00000
[31] 20.00000 20.00000
> a==20
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
FALSE FALSE FALSE FALSE FALSE
[17] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
FALSE FALSE FALSE FALSE FALSE
> a[a==20]<-0
> a
[1] 20.00000 20.00000 14.23756 20.00000 20.00000 20.00000 16.30921
20.00000 20.00000 20.00000
[11] 20.00000 20.00000 20.00000 20.00000 20.00000 14.85909 16.17894
20.00000 20.00000 20.00000
[21] 20.00000 27.64041 20.00000 20.00000 20.00000 20.00000 20.00000
21.98571 20.00000 20.00000
[31] 20.00000 20.00000

On Wed, Apr 6, 2022 at 12:16 PM Jim Lemon <drjimlemon using gmail.com> wrote:
>
> Hi Ani,
> It seems to work for me:
>
>  a<-c(20, 20, 14.2375646029948, 19.9999999999999, 20, 20, 16.3092078677214,
> 20, 20, 20, 20, 20, 20, 20, 20, 14.8590932408795, 16.178935255298,
> 20, 20, 20, 20, 27.6404077886079, 20, 20, 20, 20, 20, 21.9857063037444,
> 20, 20, 20, 20)
> > a==20
> [1]  TRUE  TRUE FALSE FALSE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE
> [13]  TRUE  TRUE  TRUE FALSE FALSE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE
> [25]  TRUE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE
> > a[a==20]<-0
> > a
> [1]  0.00000  0.00000 14.23756 20.00000  0.00000  0.00000 16.30921  0.00000
> [9]  0.00000  0.00000  0.00000  0.00000  0.00000  0.00000  0.00000 14.85909
> [17] 16.17894  0.00000  0.00000  0.00000  0.00000 27.64041  0.00000  0.00000
> [25]  0.00000  0.00000  0.00000 21.98571  0.00000  0.00000  0.00000  0.00000
>
> Notice that it didn't make 19.99999999999999 equal to 20, but did
> round it up when printing the result. How do you know that it failed?
>
> Jim
>
> On Wed, Apr 6, 2022 at 12:48 PM ani jaya <gaaauul using gmail.com> wrote:
> >
> > Dear R-Help,
> >
> > I try to change a specific value here by following these:
> >
> > https://www.journaldev.com/39695/replace-in-r
> > https://stackoverflow.com/questions/5824173/replace-a-value-in-a-data-frame-based-on-a-conditional-if-statement
> > https://stackoverflow.com/questions/54615462/how-to-replace-certain-values-in-a-specific-rows-and-columns-with-na-in-r
> > ..and many more
> >
> > however, it is not change anything. I believe it "should" be easy but
> > I think I am missing something. I am afraid it is my system that has a
> > problem but restarting r is not solve the problem.
> > I just want to change 20 to 0 in my data.
> >
> > > dput(a)
> > c(20, 20, 14.2375646029948, 19.9999999999999, 20, 20, 16.3092078677214,
> > 20, 20, 20, 20, 20, 20, 20, 20, 14.8590932408795, 16.178935255298,
> > 20, 20, 20, 20, 27.6404077886079, 20, 20, 20, 20, 20, 21.9857063037444,
> > 20, 20, 20, 20)
> >
> > what I did:
> > a[a==20]<-0 #fail
> > a<-replace(a,a==20,0) #fail
> > a[which(a==20)]<-0 #fail
> >
> > > sessionInfo()
> > R version 4.1.2 (2021-11-01)
> > Platform: x86_64-w64-mingw32/x64 (64-bit)
> > Running under: Windows 10 x64 (build 19043)
> >
> > Matrix products: default
> >
> > locale:
> > [1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252
> > [3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C
> > [5] LC_TIME=English_United States.1252
> > system code page: 949
> >
> > Best,
> > Ani
> >
> > ______________________________________________
> > 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