[R] 'Double to logical' error
Duncan Murdoch
murdoch@dunc@n @end|ng |rom gm@||@com
Tue Sep 7 15:27:55 CEST 2021
And what is in the string that triggers the issue?
On 07/09/2021 9:23 a.m., John Tully wrote:
> 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
> <https://stat.ethz.ch/mailman/listinfo/r-help>
>>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> <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.
>
>
>
More information about the R-help
mailing list