Comandos Emacs para calcular soma, média, etc. da região

3

Suponha que eu tenha destacado uma região de texto em um buffer. A região contém números separados por espaço em branco. Por exemplo.

1 19 23 28 41

Existe algum pacote com comandos interativos prontos que analisam os números dessa região e fazem cálculos comuns como soma e média, semelhante ao que os programas de planilha eletrônica exibem em sua barra de status? Algo como:

  • M x sum-region = & gt; 112 mostrado no minibuffer
  • M x average-region = & gt; 22.4 mostrado no minibuffer

ou um comando combinado para fazer cálculos diferentes de uma só vez, ou um display modeline.

Eu suponho org-mode tem funções de planilha como essa, mas elas podem ser usadas facilmente se você ainda não estiver trabalhando com uma planilha organizacional? Faz calc tem funções que operam na região?

Lassi
fonte

Respostas:

10

Encontrou um jeito bem fácil de usar calc:

  1. Realce os números no buffer de origem
  2. M x calc-grab-region (ou Cx * g )
  3. M x calc-vector-sum, M x calc-vector-mean, M x calc-vector-sdevetc.

Cx * é uma sequência de prefixo que invoca o Calc de várias maneiras; a letra que se segue determina qual (e. g invoca calc-grab-region, r invoca calc-grab-rectangle ).

Funções estatísticas também podem ser invocadas por seqüências-chave. Por exemplo:

  • você + : sum ( calc-vector-sum )
  • você C : covariância ( calc-vector-covariance )
  • você M : significar ( calc-vector-mean )
  • você S : desvio padrão ( calc-vector-sdev )
  • v R + : sum ( (calc-reduce '(2 calcFunc-add "+")) )
  • v R * : produtos ( (calc-reduce '(2 calcFunc-mul "*")) )

Estas e outras funções são abordadas no Calc manual , particularmente a seção sobre Funções Vector / Matrix .

Lassi
fonte