[R] 'Double to logical' error

John Tully John@Tu||y @end|ng |rom nott|ngh@m@@c@uk
Tue Sep 7 15:23:50 CEST 2021


Thank you Duncan

we now resolved this

However I have run into another problem with the section of script below- I am getting in reply

Error in nchar(a) : invalid multibyte string, element 1

Thanks




SCRIPT SECTION:


# fill data frame with meta results
j=1
for (indiv_meta in to_include){
  graph_results$estimate[j]=results_list[[indiv_meta]]$b
  graph_results$lb[j]=results_list[[indiv_meta]]$ci.lb
  graph_results$ub[j]=results_list[[indiv_meta]]$ci.ub
  graph_results$p[j]=results_list[[indiv_meta]]$pval
  a <- as.character(results_list[[indiv_meta]]$slab)
  #this reduces the 'k' printed on the graph for instancews where sibsamples counted as sepearte studies
  b <- substr( a, start = nchar(a) - 1 , stop = nchar(a)-1)
  num_dups = sum(b==".")/2
  graph_results$k[j]=as.integer(results_list[[indiv_meta]]$k)-num_dups
  j=j+1
}




________________________________
From: Duncan Murdoch <murdoch.duncan using gmail.com>
Sent: Monday, September 6, 2021 5:49 PM
To: John Tully <mszjt1 using exmail.nottingham.ac.uk>; r-help using R-project.org <r-help using R-project.org>
Cc: McCutcheon, Robert <robert.mccutcheon using kcl.ac.uk>
Subject: Re: [R] 'Double to logical' error

You get this error from this kind of operation on tibbles:

library(tibble)
t1 <- tibble(x = c(TRUE, FALSE))
t2 <- tibble(x = c(1.2, 1.3))
t1[1,] <- t2[1,]
#> Error: Assigned data `t2[1, ]` must be compatible with existing data.
#> ℹ Error occurred for column `x`.
#> x Can't convert from <double> to <logical> due to loss of precision.
#> * Locations: 1.

If t1 had been a data.frame instead of a tibble, this would convert t1$x
to type double.  So it is possible some code you are using assumes
things inheriting from class "data.frame" act like dataframes.  Or maybe
they were just sloppy.  In any case, you might be able to fix it by
changing single_study_df to a dataframe using

   single_study_df <- as.data.frame(single_study_df)

Duncan Murdoch


On 06/09/2021 12:34 p.m., Duncan Murdoch wrote:
> On 06/09/2021 10:16 a.m., John Tully wrote:
>> Dear colleagues
>>>
>>> in conducting a meta-analysis (of MRI data) I am running into the repeated issue:
>>>
>>> Error: Assigned data `single_study_df` must be compatible with existing data. ℹ Error occurred for column `accumbens_sd`. x Can't convert from <double> to <logical> due to loss of precision. * Locations: 1, 2. Run `rlang::last_error()` to see where the error occurred.
>
> That certainly looks like a tidyverse error, specifically from the
> tibble package.
>
> Duncan Murdoch
>
>>>
>>> This follows the commands
>>>
>>> for (region in regions){
>>>      for (study in unique(df$studyid)){
>>>        single_study_df <- df %>% filter(studyid==study)
>>>        if (is.na(single_study_df[sprintf('%s_mn', region)][[1]]) & !is.na(single_study_df[sprintf('%s_mn_l', region)])){
>>>          df <- calc_bilat(study, region, r, df)
>>>        }
>>>      }
>>> }
>>>
>>>
>>> My colleague (cc'd) believed it may be an issue with tidyverse version, however using an older version (1.2.1), the issue persists. note 'accumbens' is the first of many columns so I suspect this is why it flags this up.
>>>
>>> I would greatly value your input on this matter
>>>
>>> Kind regards
>>>
>>> John Tully
>>>
>>>
>>>
>>>
>>
>>
>>
>>
>> This message and any attachment are intended solely for the addressee
>> and may contain confidential information. If you have received this
>> message in error, please contact the sender and delete the email and
>> attachment.
>>
>> Any views or opinions expressed by the author of this email do not
>> necessarily reflect the views of the University of Nottingham. Email
>> communications with the University of Nottingham may be monitored
>> where permitted by law.
>>
>>
>>
>>
>>
>>       [[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.
>>
>




This message and any attachment are intended solely for the addressee
and may contain confidential information. If you have received this
message in error, please contact the sender and delete the email and
attachment. 

Any views or opinions expressed by the author of this email do not
necessarily reflect the views of the University of Nottingham. Email
communications with the University of Nottingham may be monitored 
where permitted by law.





	[[alternative HTML version deleted]]



More information about the R-help mailing list