AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / coding / 问题

All perguntas(coding)

Martin Hope
user30092134
Asked: 2025-03-28 19:52:22 +0800 CST

Usando ggpaired, como posso definir as cores dos preenchimentos do meu box plot para serem diferentes das cores das minhas linhas de conexão? [duplicado]

  • 6
Esta pergunta já tem respostas aqui :
Atribua cor a 2 geoms diferentes e obtenha 2 legendas diferentes (3 respostas)
Fechado há 2 dias .

Estou tentando produzir um conjunto de box plots com linhas conectando pontos de dados pareados, neste exemplo, maçãs e laranjas. Gostaria que as cores dessas linhas dependessem de qual das pontuações é maior, então se maçãs>laranjas, então a cor A, e se laranjas>maçãs, então a cor B. Também gostaria que os preenchimentos dos box plots fossem de cores diferentes, então o gráfico na coluna de maçãs é a cor C, e o gráfico na coluna de laranjas é a cor D.

Meus dados começam no seguinte formato (exemplo simplificado):

Maçãs Laranjas Temporada
7 5 Primavera
3 8 Primavera
4 7 Verão
6 3 Verão
4 3 Cair
2 5 Cair

Então começo adicionando uma coluna para a cor da linha (A ou B), usando a seguinte linha:

>    mydata$line_colour = ifelse(mydata$Apples < mydata$Oranges, 'A', 'B')

E então use o seguinte para produzir um gráfico, que atribui corretamente cores às linhas de conexão com base na nova coluna. Ele também atribui as cores de preenchimento dos gráficos às mesmas definidas no argumento palette. Como posso alterar isso para que as cores dos preenchimentos de caixa sejam cores diferentes?

    p             = ggpaired(mydata, 
    cond1         = 'apples' , 
    cond2         = 'oranges' ,
    facet.by      = 'season' ,
    fill          = 'condition' ,
    color         = 'grey12' ,
    panel.labs    = list(season = c('Autumn','Spring','Summer')) ,
    point.size    = 1.5 ,
    line.size     = 0.6 ,
    line.color    = 'line_colour' ,
    title         = NULL ,
    palette       = c(fill_alpha('dodgerblue', 0.5),fill_alpha('tomato1', 0.5))
   )
 
   p

saída:

boxplots pareados, agrupados por estação, linhas entre observações pareadas

Obrigado por qualquer ajuda. Provavelmente há uma solução bem óbvia, mas já faz tempo que estou batendo a cabeça para resolver isso.

  • 1 respostas
  • 56 Views
Martin Hope
Y.Y.
Asked: 2025-03-28 19:40:10 +0800 CST

Intervalos de confiança para cada fator de agrupamento no modelo glmmTMB

  • 5

Estou tratando dados com uma variável contínua e uma variável categórica. Eu construí um modelo como o seguinte usando glmmTMB:

m=glmmTMB(y~x+(1+x|group), family=Gamma(link="log"), data=dat)

'group' é a variável categórica com 20 níveis e eu quero calcular o intervalo de confiança para cada grupo considerando tanto a inclinação fixa quanto a aleatória. Agora eu tenho duas perguntas:

  1. É plausível calcular ICs para cada grupo em um modelo com inclinação aleatória?
  2. Se estiver tudo bem, como posso implementar isso?

Até agora tentei confint(), mas em ambos parece que algo está errado.

confint(m, method="profile")
                        2.5 %      97.5 %
(Intercept)        3.47032911  3.62824116
x                  0.03020511  0.06036813
theta_1+x|group.1 -1.85226484 -1.30972404
theta_1+x|group.2 -3.74515169 -3.04747076
theta_1+x|group.3 -0.14530387  0.83050143

Embora o grupo seja a variável com 20 níveis, apenas 3 são mostrados aqui e seus nomes são omitidos. E também tentei bootstrapping paramétrico com a ajuda do chatGPT.

for(i in 1:nboot){

  sim_data <- simulate(m)[[1]]
  dat_boot <- m$frame
  dat_boot$y <- sim_data

  m_boot <- try(glmmTMB(y ~ x + (1+x|group),
                         family=Gamma(link="log"), data=dat_boot), silent=TRUE)
  if(!inherits(m_boot, "try-error")){
    fix_boot <- fixef(m_boot)$cond["x"]
    ranef_boot <- ranef(m_boot)$cond$plot[,"x"]
    boot_slopes[i, ] <- fix_boot + ranef_boot
  }
}

ci <- apply(boot_slopes, 2, function(x){
  quantile(x, probs = c(0.025, 0.975), na.rm=TRUE)
})
print(ci)

Verifiquei o resultado, mas suspeito fortemente que algo esteja errado, especialmente a estrutura de agrupamento está perdida porque os ICs são muito homogêneos/semelhantes entre os grupos (vendo meus dados de linha, acredito que não deveriam).

Não me apego ao glmmTMB, mas o ajuste é de alguma forma melhor com este do que com o lme4.

  • 1 respostas
  • 60 Views
Martin Hope
wouldnotliketo
Asked: 2025-03-28 19:40:05 +0800 CST

Comportamento confuso de um grupo de captura em um lookbehind positivo em um regex Java com Pattern.matcher

  • 6

O problema a seguir é observado apenas em Java e não em outros tipos de regex (por exemplo, PCRE).

Tenho a seguinte regex: (?:(?<=([A-Za-z\d]))|\b)(MyString). Há um grupo de captura no [A-Za-z\d]lookbehind.

E estou tentando corresponder (por meio de Pattern.matcher(regex); para ser mais preciso, estou chamando replaceAll) a seguinte string: string.MyString.

No PCRE, eu vou combinar MyString, e ele será o segundo grupo na partida. No Java, no entanto, eu vou combinar o gin stringcomo grupo 1, e MyStringcomo grupo 2.

  1. Por que o Java faz isso? Para mim, essa regex implica que uma correspondência de caracteres [A-Za-z\d]só deve ser correspondida se preceder diretamente MyString, o que não é o caso aqui.
  2. Como posso evitar isso e não corresponder a isto g? Quero manter o grupo de captura no caso de ter que corresponder a uma string como stringMyString, nesse caso preciso disso gcomo grupo 1.
java
  • 1 respostas
  • 56 Views
Martin Hope
Sergey Zolotarev
Asked: 2025-03-28 19:35:46 +0800 CST

Collectors#toMap: Nenhum NPE em valores nulos

  • 7

E se eu não quiser Collectors#toMaplançar valores nulos? Java 8

public class CollectorsTest {

    @Test
    public void collectorsTest() {
        List<Map.Entry<String, Object>> params = Arrays.asList(
                new AbstractMap.SimpleEntry<>("key1", 1),
                new AbstractMap.SimpleEntry<>("key2", null)
        );
        Map<String, Object> paramMap = toParamMap(params); // throws NPE
    }

    private static Map<String, Object> toParamMap(List<Map.Entry<String, Object>> params) {
        Map<String, Object> paramMap = params.stream().collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
        return paramMap;
    }
}
java
  • 2 respostas
  • 96 Views
Martin Hope
aga
Asked: 2025-03-28 19:28:11 +0800 CST

O Android Studio sempre abre o painel Compose Preview, não importa que tipo de arquivo Kotlin seja criado

  • 7

Recentemente, me deparei com o que parece ser uma falha estranha no Android Studio. Não importa que tipo de arquivo Kotlin eu crie ( object, interface, class—anything), o IDE sempre o abre como se contivesse uma função Jetpack Compose com visualizações. Na maioria das vezes, tenho que alternar manualmente de volta para o painel "Código", pois crio Fragments, ViewModels e UseCases com muito mais frequência do que Composables. Isso acaba desperdiçando tempo com cada novo arquivo.

Existe uma maneira de consertar isso por meio das configurações do Studio? Acredito que deve haver alguma configuração que eu alterei sem nem perceber, porque não consegui encontrar nada sobre esse comportamento na web, então provavelmente esse não é um problema vivenciado por muitos.

android-studio
  • 1 respostas
  • 39 Views
Martin Hope
Marcin Barczyński
Asked: 2025-03-28 19:22:55 +0800 CST

Como escrever dicas de tipo para profundidade de computação de funções recursivas em Python?

  • 5

Eu escrevi a seguinte função em Python 3.12:

# pyright: strict

from collections.abc import Iterable, Mapping
from typing import Any

type Nested = Any | Mapping[str, Nested] | Iterable[Nested]


def _get_max_depth(obj: Nested) -> int:
    if isinstance(obj, Mapping):
        return max([0] + [_get_max_depth(val) for val in obj.values()]) + 1
    elif isinstance(obj, Iterable) and not isinstance(obj, str):
        return max([0] + [_get_max_depth(elt) for elt in obj]) + 1
    else:
        return 0

Entretanto, o copyright 1.1.398 reclama que:

demo-pyright.py
  demo-pyright.py:11:42 - error: Argument type is partially unknown
    Argument corresponds to parameter "obj" in function "_get_max_depth"
    Argument type is "Any | Mapping[str, Any | ... | Iterable[Nested]] | Iterable[Any | Mapping[str, Nested] | ...] | Unknown" (reportUnknownArgumentType)
  demo-pyright.py:11:51 - error: Type of "val" is partially unknown
    Type of "val" is "Any | Mapping[str, Nested] | Iterable[Nested] | Unknown" (reportUnknownVariableType)
  demo-pyright.py:13:42 - error: Argument type is partially unknown
    Argument corresponds to parameter "obj" in function "_get_max_depth"
    Argument type is "Unknown | Any | Mapping[str, Any | ... | Iterable[Nested]] | Iterable[Any | Mapping[str, Nested] | ...]" (reportUnknownArgumentType)
  demo-pyright.py:13:51 - error: Type of "elt" is partially unknown
    Type of "elt" is "Unknown | Any | Mapping[str, Nested] | Iterable[Nested]" (reportUnknownVariableType)
4 errors, 0 warnings, 0 informations

Para silenciar os direitos autorais, eu poderia usar as seguintes soluções alternativas:

  • Alterar Anypara tipos concretos, como int | str.
  • Substitua Mappingpor dict.
  • Substitua Iterablepor list.

No entanto, não estou satisfeito com essas soluções alternativas, pois a função deveria ser genérica.

Existe uma maneira de escrever dicas de tipo que satisfaçam os direitos autorais no modo estrito neste caso?

python
  • 2 respostas
  • 75 Views
Martin Hope
Deepak Sharma
Asked: 2025-03-28 19:20:58 +0800 CST

Modificador SwiftUI onGeometryChange com quadro

  • 5

O que há de errado com o código a seguir, que faz com que a viewSizealtura permaneça zero apesar de ter um framemodificador definido como altura 60?


struct TestGeometryModifierView: View {
    @State var viewSize:CGSize = .zero
    
    var body: some View {
        Color.red
            .onGeometryChange(for: CGSize.self) { proxy in
                proxy.size
            } action: { newValue in
                viewSize = newValue
                print("View Size \(newValue)")
            }
            .frame(height:viewSize.height)
    }
    
}

#Preview {
    TestGeometryModifierView()
        .frame(height:60)
}

A declaração print no console mostra apenas uma linha. Espero que ela mude quando a altura do quadro for definida na visualização.

View Size (402.0, 0.0)
swiftui
  • 1 respostas
  • 37 Views
Martin Hope
JMS
Asked: 2025-03-28 19:20:08 +0800 CST

Redirecionar para nova visualização ao enviar

  • 6

Estou procurando criar uma barra de pesquisa que funcione em qualquer página para encontrar itens no meu banco de dados de filmes. Tenho a barra de pesquisa funcionando apenas quando já estou na página de índice de filmes, mas ela não funciona em nenhuma outra página, ela apenas recarrega a visualização atual com a pesquisa no caminho. Como posso redirecionar para a página de índice de filmes quando envio minha pesquisa?

  <form class="d-flex">
    <%= form_tag movies_path, method: :get do %>
      <%= text_field_tag :search, params[:search], class:"form-control me-2", placeholder:"Search" %>
      <%= submit_tag "Search", :title => nil, class:"btn btn-outline-primary" %>
    <% end %>
  </form>
ruby-on-rails
  • 1 respostas
  • 42 Views
Martin Hope
giolongo
Asked: 2025-03-28 19:16:16 +0800 CST

Usando Pipe em Nenhum componente autônomo

  • 7

Não tenho um componente autônomo com Angular 19

import { Component, inject, OnInit } from '@angular/core';
import { HelloWorldFacade } from './+state/hello-world.facade';
import { Observable } from 'rxjs';
import { CommonModule, DatePipe } from '@angular/common';

@Component({
  selector: 'lib-hello-world-with-ngrx',
  standalone: false,
  template: `
      {{message$ | async}}
  `,
  styles: ``
})
export class HelloWorldWithNgrxComponent implements OnInit{

  public message$?: Observable<string>;
  private hwFacade = inject(HelloWorldFacade);


  ngOnInit(): void {
    this.message$ = this.hwFacade.message$

    setInterval(() => {
      this.hwFacade.appendMessage('a');
    }, 10000);
  }

}

com seu módulo

import { CommonModule, AsyncPipe } from '@angular/common';
import { NgModule } from '@angular/core';
import { EffectsModule } from '@ngrx/effects';
import { StoreModule } from '@ngrx/store';
import { HelloWorldEffects } from './+state/hello-world.effects';
import { HelloWorldFacade } from './+state/hello-world.facade';
import * as fromHW from './+state/hello-world.reducer';
import { HelloWorldWithNgrxComponent } from './hello-world-with-ngrx.component';

@NgModule({
  imports: [
    CommonModule,
    AsyncPipe,
    StoreModule.forFeature(
      fromHW.HW_FEATURE_KEY,
      fromHW.hwReducer
    ),
    EffectsModule.forFeature([HelloWorldEffects])
  ],
  providers: [HelloWorldFacade],
  declarations: [HelloWorldWithNgrxComponent],
  exports: [HelloWorldFacade, HelloWorldWithNgrxComponent, CommonModule]
})
export class HelloWorldWithNgrxModule { }

Criei um Workspace No Application, apenas para gerar minha biblioteca pessoal

Quando tento compilar a biblioteca com o comando ng build hello-world-with-ngrx recebo este erro

✖ Compiling with Angular sources in Ivy partial compilation mode.
projects/hello-world-with-ngrx/src/lib/hello-world-with-ngrx.component.ts:10:20 - error NG8004: No pipe found with name 'async'.

Link para repositório: https://github.com/giolongo/gle-angular-lib/tree/master/projects/hello-world-with-ngrx/src/lib

Como posso resolver esse problema?

javascript
  • 1 respostas
  • 59 Views
Martin Hope
MikkelT
Asked: 2025-03-28 19:03:27 +0800 CST

Azure Devops Pipeline GooglePlayRelease@4 falhou com a mensagem: GaxiosError: o código de versão 1 já foi usado

  • 5

Meu versionCode gerado automaticamente é, na verdade, 2343, não 1.

Estou tentando lançar um aplicativo Android via Azure Pipelines, mas a tarefa GooglePlayRelease@4 continua gerando um erro, dizendo que já usei o código de versão 1. Isso ocorre apesar do fato de eu não definir um código de versão estático, mas sim derivá-lo do número de confirmações do git:

def getVersionCode = { ->
    "git rev-list --count HEAD"
            .execute()
            .text.trim()
            .toInteger()
}

defaultConfig {
        applicationId 'com.my_app.app'
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion
        versionCode getVersionCode() // here, should be 2343
        versionName getVersionName()
    }

Aqui está a tarefa. Acredito que o problema pode estar durante a tarefa de assinatura:

    - task: AndroidSigning@3
      inputs:
        apkFiles: '$(Agent.BuildDirectory)/s/android/app/build/outputs/bundle/productionRelease/app-production-release.aab'
        apksignerArguments: "--min-sdk-version 23"
        apksignerKeystoreFile: 'my-app.keystore'
        apksignerKeystorePassword: $(storePassword)
        apksignerKeystoreAlias: $(keyAlias)
        apksignerKeyPassword: $(keyPassword)
    
    - task: GooglePlayRelease@4
      inputs:
        serviceConnection: 'Google Play Store Connection'
        applicationId: 'com.my_app.app'
        action: 'SingleBundle'
        bundleFile: '$(Agent.BuildDirectory)/s/android/app/build/outputs/bundle/productionRelease/app-production-release.aab'
        track: 'internal'
        releaseName: 'test connection'
        isDraftRelease: true

E o erro:


GooglePlayRelease

View raw log

Starting: GooglePlayRelease
==============================================================================
Task         : Google Play - Release
Description  : Release an app to the Google Play Store
Version      : 4.244.0
Author       : Microsoft Corporation
Help         : https://marketplace.visualstudio.com/items?itemName=ms-vsclient.google-play
==============================================================================
Authenticated with Google Play and getting new edit
##[error]Error: Failed to upload the bundle /home/vsts/work/1/s/android/app/build/outputs/bundle/productionRelease/app-production-release.aab. Failed with message: GaxiosError: Version code 1 has already been used.
    at Gaxios._request (/home/vsts/work/_tasks/GooglePlayRelease_8cf7cac0-620b-11e5-b4cf-8565e60f4d27/4.244.0/node_modules/gaxios/build/src/gaxios.js:129:23)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async JWT.requestAsync (/home/vsts/work/_tasks/GooglePlayRelease_8cf7cac0-620b-11e5-b4cf-8565e60f4d27/4.244.0/node_modules/google-auth-library/build/src/auth/oauth2client.js:368:18) {
  response: [Object],
  config: [Object],
  code: 403,
  errors: [Array]
}.
Finishing: GooglePlayRelease

Eu até tentei construir localmente e usei o Android Studio para analisar o AAB e o APK, ambos geram um arquivo manifesto onde o código da versão é 2343... Então, realmente não tenho certeza do por que o Google Play diz que é 1

  • 2 respostas
  • 37 Views
Prev
Próximo

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Reformatar números, inserindo separadores em posições fixas

    • 6 respostas
  • Marko Smith

    Por que os conceitos do C++20 causam erros de restrição cíclica, enquanto o SFINAE antigo não?

    • 2 respostas
  • Marko Smith

    Problema com extensão desinstalada automaticamente do VScode (tema Material)

    • 2 respostas
  • Marko Smith

    Vue 3: Erro na criação "Identificador esperado, mas encontrado 'import'" [duplicado]

    • 1 respostas
  • Marko Smith

    Qual é o propósito de `enum class` com um tipo subjacente especificado, mas sem enumeradores?

    • 1 respostas
  • Marko Smith

    Como faço para corrigir um erro MODULE_NOT_FOUND para um módulo que não importei manualmente?

    • 6 respostas
  • Marko Smith

    `(expression, lvalue) = rvalue` é uma atribuição válida em C ou C++? Por que alguns compiladores aceitam/rejeitam isso?

    • 3 respostas
  • Marko Smith

    Um programa vazio que não faz nada em C++ precisa de um heap de 204 KB, mas não em C

    • 1 respostas
  • Marko Smith

    PowerBI atualmente quebrado com BigQuery: problema de driver Simba com atualização do Windows

    • 2 respostas
  • Marko Smith

    AdMob: MobileAds.initialize() - "java.lang.Integer não pode ser convertido em java.lang.String" para alguns dispositivos

    • 1 respostas
  • Martin Hope
    Fantastic Mr Fox Somente o tipo copiável não é aceito na implementação std::vector do MSVC 2025-04-23 06:40:49 +0800 CST
  • Martin Hope
    Howard Hinnant Encontre o próximo dia da semana usando o cronógrafo 2025-04-21 08:30:25 +0800 CST
  • Martin Hope
    Fedor O inicializador de membro do construtor pode incluir a inicialização de outro membro? 2025-04-15 01:01:44 +0800 CST
  • Martin Hope
    Petr Filipský Por que os conceitos do C++20 causam erros de restrição cíclica, enquanto o SFINAE antigo não? 2025-03-23 21:39:40 +0800 CST
  • Martin Hope
    Catskul O C++20 mudou para permitir a conversão de `type(&)[N]` de matriz de limites conhecidos para `type(&)[]` de matriz de limites desconhecidos? 2025-03-04 06:57:53 +0800 CST
  • Martin Hope
    Stefan Pochmann Como/por que {2,3,10} e {x,3,10} com x=2 são ordenados de forma diferente? 2025-01-13 23:24:07 +0800 CST
  • Martin Hope
    Chad Feller O ponto e vírgula agora é opcional em condicionais bash com [[ .. ]] na versão 5.2? 2024-10-21 05:50:33 +0800 CST
  • Martin Hope
    Wrench Por que um traço duplo (--) faz com que esta cláusula MariaDB seja avaliada como verdadeira? 2024-05-05 13:37:20 +0800 CST
  • Martin Hope
    Waket Zheng Por que `dict(id=1, **{'id': 2})` às vezes gera `KeyError: 'id'` em vez de um TypeError? 2024-05-04 14:19:19 +0800 CST
  • Martin Hope
    user924 AdMob: MobileAds.initialize() - "java.lang.Integer não pode ser convertido em java.lang.String" para alguns dispositivos 2024-03-20 03:12:31 +0800 CST

Hot tag

python javascript c++ c# java typescript sql reactjs html

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve