Re: [R] if-else that returns vector

2023-10-12 Thread Richard O'Keefe
?ifelse
'ifelse' returns a value with the same shape as 'test' which is
 filled with elements selected from either 'yes' or 'no' depending
 on whether the element of 'test' is 'TRUE' or 'FALSE'.

This is actually rather startling, because elsewhere in the
S (R) language, operands are normally replicated to the length
of the longer.  Thus
c(1,2,3)*10 + c(5,6)
first (notionally) replicates 10 to c(10,10,10)
and then c(5,6) to c(5,6,5), yielding c(15,26,35).
And this *does* happen, sort of.
> ifelse(c(F,T,F), c(1,2,3), c(5,6))
=> 5 2 5.
But it *doesn't* apply to the test.

There's another surprise.  Years ago I expected that
all three arguments would be evaluated, then length
adjusted, and then processing would be done.
But the 2nd argument is evaluated (in full) if and only
if some element of the test is true,
and the 3rd argument is evaluated (in full) if and oly
if some element of the test is false.
ifelse(c(NA,NA), stop("true"), stop("false"))
=> c(NA,NA).

At any rate, what you want is if ()  else 



On Fri, 13 Oct 2023 at 09:22, Christofer Bogaso 
wrote:

> Hi,
>
> Following expression returns only the first element
>
> ifelse(T, c(1,2,3), c(5,6))
>
> However I am looking for some one-liner expression like above which
> will return the entire vector.
>
> Is there any way to achieve this?
>
> __
> R-help@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.
>

[[alternative HTML version deleted]]

__
R-help@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.


Re: [R] Problem with compatible library versions

2023-10-12 Thread Richard O'Keefe
The purpose of 'groundhog' is to support reproducible research.
As Uwe Ligges pointed out, there are practical limits to that.
Since I am typing this on a 10-year-old machine, it's clearly
feasible in *some* instances, but as an illustration of Uwe's
point, Ubuntu still supports 32-bit applications, but it does
not support 32-bit x86 hardware (since 20.04 IIRC).

I think it is fair to say that 'groundhog' *supports*
reproducible research, but nothing can *guarantee* it.


On Thu, 12 Oct 2023 at 01:54, Ebert,Timothy Aaron  wrote:

> Is that a method where a program that I write today would still run
> without changes in 10 years?
> Tim
>
> -Original Message-
> From: R-help  On Behalf Of Richard O'Keefe
> Sent: Wednesday, October 11, 2023 8:08 AM
> To: Uwe Ligges 
> Cc: r-help@r-project.org
> Subject: Re: [R] Problem with compatible library versions
>
> [External Email]
>
> There is a fairly straightforward way to load older versions of packages,
> and that is to use the 'groundhog' package.
> As the first sentence of https://groundhogr.com/ puts it:
>Make your R scripts reproducible by replacing library(pkg)
>with groundhog.library(pkg, date).
>
> pkg can be a vector of package names or a single name.
>
> On Wed, 11 Oct 2023 at 20:58, Uwe Ligges 
> wrote:
> >
> >
> > On 10.10.2023 17:34, Sabine Braun wrote:
> > > On the github website I have reported several bugs with new versions
> > > of the tidyverse group (probably dplyr) which prevent me from using
> > > R normally. I wanted to go back to older versions but this seems not
> > > bo be easy. I downloaded R 4.1.2. and Rtools 40 but the library
> > > versions
> >
> > So this is on Windows.
> >
> > Actually, if you install R-4.1.2 and use a clean library and install
> > binaries, then you should get binary installation from CRAN that fit
> > to the R-4.1.x series.
> >
> > If you want to install older package versions, then you have to
> > install these one by one from sources, unfortunately.
> >
> > Best,
> > Uwe Ligges
> >
> >
> >
> > > installed are still the newest ones. I was able to install dplyr 1.0.7.
> > > manually but there are error messages on incompatibility when
> > > loading this version. Is there a possibility to load older library
> > > versions which alre compatible ?
> > >
> > > Thank you very much!
> > >
> > > Best regards
> > >
> > > Sabine Braun
> > >
> > >
> >
> > __
> > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
> > https://stat/
> > .ethz.ch%2Fmailman%2Flistinfo%2Fr-help=05%7C01%7Ctebert%40ufl.edu
> > %7C86c81ebb0b184971b4eb08dbca52d5b3%7C0d4da0f84a314d76ace60a62331e1b84
> > %7C0%7C0%7C638326229351781447%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAw
> > MDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C
> > ta=kEpdr7GlTQwcaKCMfI0NJfWXrgCshp5DVALyiu%2FHG4I%3D=0
> > PLEASE do read the posting guide
> http://www.r-project.org/posting-guide.html
> > and provide commented, minimal, self-contained, reproducible code.
>
> [[alternative HTML version deleted]]
>
> __
> R-help@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.
>

[[alternative HTML version deleted]]

__
R-help@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.


Re: [R] Linear discriminant analysis

2023-10-12 Thread Uwe Ligges




On 12.10.2023 16:25, Fernando Archuby wrote:

Hi.
I have successfully performed the discriminant analysis with the lda
function, I can classify new individuals with the predict function, but I
cannot figure out how the lda results translate into the classification
decision. That is, I don't realize how the classification equation for new
individuals is constructed from the lda output. I want to understand it but
also, I need to communicate it and provide a mechanism for other colleagues
to make classifications with their data.
Thank you very much,
Fernando




Do you want to know the principles of the theory behind LDA? That is 
available in lots of textbooks.


Do you want the implementation detials of MASS::lda()?
That is hard. It is based (but does not follow in all details) on a 
paper by Nils Hjort from Norway.
A former student of mine, Swetlana Herbrandt, has analysed and reverse 
engineered the code and wrote down the theory in a German thesis. The 
implementation uses some nice tricks to get numerically rather stable 
results that are typically not mentioned in any textbook.


Do you really want to do prediction with LDA?
I typically look at classificatuion performance of LDA as a reference to 
compare better and more modern techniques with.


I think you should ask some trained local statistician for advise on 
both, the LDA theory and for prediction in general.


Best,
Uwe Ligges

__
R-help@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.


Re: [R] if-else that returns vector

2023-10-12 Thread Rui Barradas

Às 21:22 de 12/10/2023, Christofer Bogaso escreveu:

Hi,

Following expression returns only the first element

ifelse(T, c(1,2,3), c(5,6))

However I am looking for some one-liner expression like above which
will return the entire vector.

Is there any way to achieve this?

__
R-help@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.

Hello,

I don't like it but


ifelse(rep(T, length(c(1,2,3))), c(1,2,3), c(5,6))


maybe you should use


max(length(c(1, 2, 3)), length(5, 6)))


instead, but it's still ugly.

Hope this helps,

Rui Barradas


--
Este e-mail foi analisado pelo software antivírus AVG para verificar a presença 
de vírus.
www.avg.com

__
R-help@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.


Re: [R] if-else that returns vector

2023-10-12 Thread Jeff Newmiller via R-help
What a strange question... ifelse returns a vector (all data in R is vectors... 
some have length 1, but length zero is also possible, as are longer vectors) 
that is exactly as long as the logical vector that you give it, filled with 
elements from the respective positions in the vectors supplied in the second 
and third arguments. Because your logical vector is length 1, you only get a 
vector with the first element of the second argument.

If you want to choose between one of two vectors considered wholly, then "if" 
is what you need:

result <- if (TRUE) c(1,2,3) else c(5,6)


On October 12, 2023 1:22:03 PM PDT, Christofer Bogaso 
 wrote:
>Hi,
>
>Following expression returns only the first element
>
>ifelse(T, c(1,2,3), c(5,6))
>
>However I am looking for some one-liner expression like above which
>will return the entire vector.
>
>Is there any way to achieve this?
>
>__
>R-help@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.

-- 
Sent from my phone. Please excuse my brevity.

__
R-help@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.


Re: [R] if-else that returns vector

2023-10-12 Thread Ben Bolker

 how about

if(T) c(1,2,3) else c(5,6)

?

On 2023-10-12 4:22 p.m., Christofer Bogaso wrote:

Hi,

Following expression returns only the first element

ifelse(T, c(1,2,3), c(5,6))

However I am looking for some one-liner expression like above which
will return the entire vector.

Is there any way to achieve this?

__
R-help@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.


__
R-help@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.


[R] if-else that returns vector

2023-10-12 Thread Christofer Bogaso
Hi,

Following expression returns only the first element

ifelse(T, c(1,2,3), c(5,6))

However I am looking for some one-liner expression like above which
will return the entire vector.

Is there any way to achieve this?

__
R-help@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.


Re: [R] Linear discriminant analysis

2023-10-12 Thread Ben Bolker

  It's possible that neither of these will help, but

(1) you can look at the source code of the predict method 
(MASS:::predict.lda)


(2) you can look at the source reference ("Modern Applied Statistics in 
S", Venables and Ripley) to see if it gives more information (although 
it might not); there's a chance that you can get the information you 
need via a google books search


On 2023-10-12 10:25 a.m., Fernando Archuby wrote:

Hi.
I have successfully performed the discriminant analysis with the lda
function, I can classify new individuals with the predict function, but I
cannot figure out how the lda results translate into the classification
decision. That is, I don't realize how the classification equation for new
individuals is constructed from the lda output. I want to understand it but
also, I need to communicate it and provide a mechanism for other colleagues
to make classifications with their data.
Thank you very much,
Fernando



__
R-help@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.


[R] Linear discriminant analysis

2023-10-12 Thread Fernando Archuby
Hi.
I have successfully performed the discriminant analysis with the lda
function, I can classify new individuals with the predict function, but I
cannot figure out how the lda results translate into the classification
decision. That is, I don't realize how the classification equation for new
individuals is constructed from the lda output. I want to understand it but
also, I need to communicate it and provide a mechanism for other colleagues
to make classifications with their data.
Thank you very much,
Fernando

-- 

*Dr. Fernando M. Archuby*
CONICET-UNLP
Teléfono Personal: +54-221-15-6129667.
farch...@gmail.com
paleobiolo...@gmail.com

[[alternative HTML version deleted]]

__
R-help@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.


Re: [ESS] why a release from time to time would be nice

2023-10-12 Thread Tyler Smith via ESS-help
Hi Stephen,

yasnippet allows you to insert modifiable yaml templates. You can define 
'fields' that you want to modify, along with straight text that will be 
inserted verbatim. 

In my case, I enter the string 'yaml', hit the tab key, and the template is 
inserted. The cursor starts in the title field ($1), and I tab through category 
($2), excerpt ($3), tags ($4, $5), slug ($6), and finally ends in the body of 
the document ($0). 

I keep it simple, but you can use default values for fields, or define a list 
of options to pick from. In my case, I just enter the values by hand. You can 
also call elisp functions to enter computed values. I use the function 
`tws-today` to enter today's date.

The definition for this, stored in a file, is pasted below.

You can use options in the template to switch between different headers, or you 
could define different templates. For example, you could define a yamlblog 
template, a yamlmanuscript template, etc, with the defaults set to your various 
outputs.

There's a tutorial here: 
  https://github.com/joaotavora/yasnippet/blob/master/README.mdown 

and a short video here: 
  https://youtu.be/W-bRZlseNm0?si=wM-mq-HkO2wgS0or

But making a 'quick start' post specifically for ESS users would be a good 
idea. I will add it to my list, but the list is growing faster than I'm making 
posts lately!

- ty

```
# -*- mode: snippet; require-final-newline: nil -*-
# name: yamlpost
# key: yaml
# expand-env: ((yas-indent-line 'fixed))
# binding: direct-keybinding
# --
---
layout: post
title: "$1"
categories: 
  - $2
excerpt: "$3"
date: `(tws-today)`
tags:
  - $4
  - $5
slug: $6
bibliography: ../../plantarum.bib
csl: ../../american-journal-of-botany.csl
link-citations: true
---

\`\`\`{R init, echo = FALSE}
library(utils) 
library(graphics)
library(grDevices)
library(stats)
\`\`\`

$0

```
-- 
plantarum.ca

On Thu, Oct 12, 2023, at 10:35 AM, Stephen Bond wrote:
> Tyler,
>
> Happy you are lending a hand. I alternate between notebook and plain
> htmil output. this is my typical:
>
> ---
> title: "Title"
> author: "Author"
> date: "2023-10-08"
> output:
>   # html_document:
>   #   df_print: kable
>   #   mathjax: C:/emacs/MathJax.js
>   html_notebook:
> df_print: kable
> mathjax: C:/emacs/MathJax.js
> editor_options:
>   chunk_output_type: inline
> ---
>
> I am not familiar with yasnippet. Maybe that is the missing piece.
> Cheers
> Stephen
>
> On Tue, 2023-10-10 at 09:32 -0400, Tyler Smith wrote:
>> Hi Stephen,
>> 
>> Like Manuel, I also do my Rmd editing in Emacs, with ESS and polymode
>> to handle most things, and a yasnippet to insert my YAML section.
>> This covers my needs, but I'm not a very sophisticated user of YAML. 
>> 
>> What support would you like to see? Perhaps there are features you
>> aren't aware of, or if not, we might be able to come up with some
>> workable solutions. Whether or not that's an ESS issue, an polymode
>> issue, or a markdown-mode issue, remains to be seen.
>> 
>> Best,
>> 
>> Tyler
>> 
>> > On Fri, Oct 6, 2023, 10:13 Stephen Bond via ESS-help
>> > 
>> > wrote:
>> > 
>> > > Currently there is zero support for the meta/yaml section at the
>> > > beginning, which makes it inconvenient to the point I am using
>> > > Rstudio
>> > > to output my Rmd files.
>> > > 
>> 
>> On Fri, Oct 6, 2023, at 8:16 AM, Manuel Teodoro via ESS-help wrote:
>> > 
>> > I am not part of ESS team but I'm wondering what kind of problems
>> > you have
>> > with Rmd files, maybe we can give you some advices.
>> > 
>> > I do all my Rmd and Qmd files in Emacs without any problem.

__
ESS-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/ess-help


Re: [ESS] why a release from time to time would be nice

2023-10-12 Thread Stephen Bond via ESS-help
Tyler,

Happy you are lending a hand. I alternate between notebook and plain
htmil output. this is my typical:

---
title: "Title"
author: "Author"
date: "2023-10-08"
output:
  # html_document:
  #   df_print: kable
  #   mathjax: C:/emacs/MathJax.js
  html_notebook:
df_print: kable
mathjax: C:/emacs/MathJax.js
editor_options:
  chunk_output_type: inline
---

I am not familiar with yasnippet. Maybe that is the missing piece.
Cheers
Stephen

On Tue, 2023-10-10 at 09:32 -0400, Tyler Smith wrote:
> Hi Stephen,
> 
> Like Manuel, I also do my Rmd editing in Emacs, with ESS and polymode
> to handle most things, and a yasnippet to insert my YAML section.
> This covers my needs, but I'm not a very sophisticated user of YAML. 
> 
> What support would you like to see? Perhaps there are features you
> aren't aware of, or if not, we might be able to come up with some
> workable solutions. Whether or not that's an ESS issue, an polymode
> issue, or a markdown-mode issue, remains to be seen.
> 
> Best,
> 
> Tyler
> 
> > On Fri, Oct 6, 2023, 10:13 Stephen Bond via ESS-help
> > 
> > wrote:
> > 
> > > Currently there is zero support for the meta/yaml section at the
> > > beginning, which makes it inconvenient to the point I am using
> > > Rstudio
> > > to output my Rmd files.
> > > 
> 
> On Fri, Oct 6, 2023, at 8:16 AM, Manuel Teodoro via ESS-help wrote:
> > 
> > I am not part of ESS team but I'm wondering what kind of problems
> > you have
> > with Rmd files, maybe we can give you some advices.
> > 
> > I do all my Rmd and Qmd files in Emacs without any problem. 

__
ESS-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/ess-help


[R-es] Análisis discriminante lineal, interpretación

2023-10-12 Thread Fernando Archuby
Buenos días/tardes.
He realizado el análisis discriminante exitosamente con la función lda,
puedo clasificar nuevos individuos con la función predict, pero no logro
darme cuenta cómo los resultados de lda se traducen en la decisión de la
clasificación. Es decir, no me doy cuenta cómo es que del output de lda se
construye la ecuación de clasificación para nuevos individuos. Quiero
entenderlo pero además, necesito comunicarlo y aportar un mecanismo para
que otros colegas realicen clasificaciones con sus datos.
Muchas gracias.
Saludos,
Fernando

-- 

*Dr. Fernando M. Archuby*
CONICET-UNLP
Teléfono Personal: +54-221-15-6129667.
farch...@gmail.com
paleobiolo...@gmail.com

[[alternative HTML version deleted]]

___
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es


Re: [R] Text showing when R is launched

2023-10-12 Thread George Loftus
Hi,

Thankyou for your response


[https://9c11xq.db.files.1drv.com/y4m7xqt5yVu7b5IG1jFuopunwB7Oa9Eij0WeZ7p1lSSmBECcSIB3XjcKjXIUhdMrJwaJdjZnBRhMeAxY0_Kko06Nq1fm5IhqaHlT6aFeI3R7gicXCteRPkzqNwmCdVxZu5DhNq66IrpwDyQ1lr8E5OFdm_xL86pMgNSLAx5HRRKLPOmFdUFWdv1ID-D1PC6LvNvAB-rT87JiQonSHRJIHouLg?width=200=150=center]
[https://res-h3.public.cdn.office.net/assets/mail/file-icon/png/cloud_blue_16x16.png]Screenshot
 2023-10-11 at 19.19.48.png
?

However this is all that exists in Users/Admin

There were a couple of R files in there which I have since deleted but I am 
still getting the same issue

Thankyou,
George


From: Rui Barradas 
Sent: 10 October 2023 12:06
To: George Loftus ; r-help@r-project.org 

Subject: Re: [R] Text showing when R is launched

�s 23:56 de 09/10/2023, George Loftus escreveu:
> Good Evening,
>
> I was wondering if you were able to help, I am running R on MacOS, it is the 
> 2020 model mac so have install the Intel arm of R which I believe is correct
>
> However when I launch R or resume the R window after going on a different 
> programme the following text is running
>
> I have also copied and pasted for ease
>
> 1   HIToolbox   0x7ff82142e0c2 
> _ZN15MenuBarInstance22RemoveAutoShowObserverEv + 30
> 2   HIToolbox   0x7ff82146a638 
> _ZL17BroadcastInternaljPvh + 167
> 3   SkyLight0x7ff81c70f23d 
> _ZN12_GLOBAL__N_123notify_datagram_handlerEj15CGSDatagramTypePvmS1_ + 1030
> 4   SkyLight0x7ff81ca2205a 
> _ZN21CGSDatagramReadStream26dispatchMainQueueDatagramsEv + 202
> 5   SkyLight0x7ff81ca21f81 
> ___ZN21CGSDatagramReadStream15mainQueueWakeupEv_block_invoke + 18
> 6   libdispatch.dylib   0x7ff8178867fb 
> _dispatch_call_block_and_release + 12
> 7   libdispatch.dylib   0x7ff817887a44 
> _dispatch_client_callout + 8
> 8   libdispatch.dylib   0x7ff8178947b9 
> _dispatch_main_queue_drain + 952
> 9   libdispatch.dylib   0x7ff8178943f3 
> _dispatch_main_queue_callback_4CF + 31
> 10  CoreFoundation  0x7ff817b215f0 
> __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9
> 11  CoreFoundation  0x7ff817ae1b70 __CFRunLoopRun + 
> 2454
> 12  CoreFoundation  0x7ff817ae0b60 
> CFRunLoopRunSpecific + 560
> 13  HIToolbox   0x7ff82142e766 
> RunCurrentEventLoopInMode + 292
> 14  HIToolbox   0x7ff82142e576 
> ReceiveNextEventCommon + 679
> 15  HIToolbox   0x7ff82142e2b3 
> _BlockUntilNextEventMatchingListInModeWithFilter + 70
> 16  AppKit  0x7ff81ac31293 _DPSNextEvent + 909
> 17  AppKit  0x7ff81ac30114 
> -[NSApplication(NSEvent) 
> _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1219
> 18  R   0x000103d60c76 -[RController 
> doProcessEvents:] + 166
> 19  R   0x000103d5b295 -[RController 
> handleReadConsole:] + 149
> 20  R   0x000103d6466f Re_ReadConsole + 
> 175
> 21  libR.dylib  0x000104442154 R_ReplDLLdo1 + 148
> 22  R   0x000103d71c47 
> run_REngineRmainloop + 263
> 23  R   0x000103d66d5f -[REngine runREPL] 
> + 143
> 24  R   0x000103d56718 main + 792
> 25  dyld0x7ff8176d4310 start + 2432
> 1   HIToolbox   0x7ff8214a1726 
> _ZN15MenuBarInstance22EnsureAutoShowObserverEv + 102
> 2   HIToolbox   0x7ff82146a638 
> _ZL17BroadcastInternaljPvh + 167
> 3   SkyLight0x7ff81c70f23d 
> _ZN12_GLOBAL__N_123notify_datagram_handlerEj15CGSDatagramTypePvmS1_ + 1030
> 4   SkyLight0x7ff81ca2205a 
> _ZN21CGSDatagramReadStream26dispatchMainQueueDatagramsEv + 202
> 5   SkyLight0x7ff81ca21f81 
> ___ZN21CGSDatagramReadStream15mainQueueWakeupEv_block_invoke + 18
> 6   libdispatch.dylib   0x7ff8178867fb 
> _dispatch_call_block_and_release + 12
> 7   libdispatch.dylib   0x7ff817887a44 
> _dispatch_client_callout + 8
> 8   libdispatch.dylib   0x7ff8178947b9 
> _dispatch_main_queue_drain + 952
> 9   libdispatch.dylib   0x7ff8178943f3 
> _dispatch_main_queue_callback_4CF + 31
> 10  CoreFoundation  0x7ff817b215f0 
> __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9
> 11  CoreFoundation  0x7ff817ae1b70 __CFRunLoopRun + 
> 2454
> 12  CoreFoundation