NOVOS RECURSOS na versão R 3.4.0

NOVOS RECURSOS na versão R 3.4.0

R As versões mais recentes contêm os seguintes novos recursos

  • Erros do usuário, como integração(f, 0:1, 2)agora são pegos.
  • Adicionar signatureargument à depuração(), debugonce(), undebug() e é depurado() para depurar de maneira mais conveniente os métodos S3 e S4. (Baseado em um patch de Gabe Becker.)
  • Adicionar utilitários::debugcall()e utils::undebugcall() para depurar a função que seria chamada avaliando a expressão fornecida. Quando a chamada é para um genérico S4 ou genérico S3 padrão, debugcall() depura o método que seria despachado. Vários utilitários internos foram adicionados para apoiar este, mais notavelmente utils::isS3stdGeneric(). (Baseado em um patch de Gabe Becker.)
  • Adicionar utilitários::estrutura(). Dado um vetor de caractere e uma expressão regular que contém expressões de captura, estrutura()extrairá os tokens capturados em uma estrutura de dados tabular, tipicamente um quadro.
  • str()e strOptions() obtenha uma nova opção deparse.attr com melhorias, mas mudou comportamento padrão para expressões. Para objetos de expressão x, str(X) agora pode remover espaços em branco estranhos e truncar linhas longas.
  • str(<looooooooong_string>)já não é muito lento; inspirado pela proposta de Mikko Korpela no PR # 16527.
  • str(X)método padrão ‘s é mais‘precisos’e, portanto, um pouco mais generoso na exibição de vetores de caracteres; isso ocasionalmente muda Rsaídas (e necessidade muda a algum ‘* .Rout(.Salve )' arquivos).
    Para um vetor inteiro classificado como x <- xtabs(~ c(1,9,9,9)), str(X) agora mostra a classe e “int”, em vez de apenas a última.
  • isSymmetric(m)é muito mais rápido para matrizes assimétricas grandes m através da pré-testes e uma nova opção tol1 (com o qual é possível uma compatibilidade estrita com as costas, mas não o padrão).
  • O resultado de eigen()agora é da classe “próprio” no caso padrão, quando os autovetores são calculados.
  • Objetos de data e hora com data e comprimento zero (de aulas “POSIX[cl]?t”) agora imprima()"Reconhecidamente".
  • coords()e xyz.coords() obtenha uma nova opção setLab.
  • O método de argumento da lista(), ordem() e sort.int() ganha um “auto” opção (o padrão) que deve se comportar da mesma maneira que antes, quando o método não era fornecido.
  • stopifnot(E, ..)agora relata diferenças quando E é uma chamada para igual() e isso não é verdade.
  • boxplot(<Fórmula>, *)ganhar argumentos opcionais drop, sep, e para passar para split.default() que ganha um argumento lex.order para passar para a interação() para mais flexibilidade.
  • O enredo()método para ppr() aprimorou rótulos padrão (xmin e principal).
  • int()ganha uma opção explícita useHash (com um padrão compatível de volta).
  • idêntico()ganha uma opção srcref que cai “srcref” e atributos semelhantes quando verdadeiro (como por padrão).
  • diag(X, nrow = n)agora preserva typeof(X), também para lógico, inteiro e bruto x (e como anteriormente para complexos e numéricos).
  • spline()agora permite especificação direta de lambda, recebe um hatvalues() método e mantém tol no resultado, e opcionalmente partes dos cálculos da matriz interna.
  • addNA()está mais rápido agora, e.g. quando aplicado duas vezes. (Parte do PR # 16895.)
  • Nova opção rstandard(<lm>, type = “predito”)fornece os erros de validação cruzada relacionados ao “PRESS”, para deixar um fora para fora para modelos lineares.
  • Após sete anos de depreciação, níveis de fator duplicados agora produzem um aviso quando impresso e um erro nos níveis<-em vez de um aviso.
  • Fatores inválidos, por exemplo., com níveis duplicados (inválido, mas construtível) agora dê um aviso quando impresso, através danova função .valid.factor().
  • sessionInfo()foi atualizado para a alteração da Apple na nomeação do SO a partir de "10,12" ("MacOS Sierra" vs "OS X El Capitan").

É toLatex() O método agora inclui o componente em execução.

  • opções(interrupção =)pode ser usado para especificar uma ação padrão para interrupções do usuário. Por enquanto, se esta opção não estiver configurada e a opção de erro estiver configurada, uma interrupção não tratada do usuário chama o erro (Isso pode ser descartado no futuro, pois as condições de interrupção não são condições de erro.)
  • Na maioria dos casos, os manipuladores de interrupção do usuário serão chamados com um “currículo”reiniciar disponível. Os manipuladores podem chamar essa reinicialização para retomar a computação. No prompt do navegador, o comando r invocará um “currículo” reinicie se houver um disponível. Algumas operações de leitura não podem ser retomadas corretamente quando interrompidas e não fornecem um “currículo”
  • A classificação Radix agora é escolhida pelo método = “auto”para int() para vetores duplos (e, portanto, usado para classificar() para vetores duplos não classificados), excluindo vetores "longos".

sort.int(method = “radix”) não arredonda mais vetores duplos.

  • Os métodos padrão e de quadro para pilha() preservar os nomes dos elementos vazios nos níveis da coluna ind do valor de retorno. Defina o novo argumento de queda como TRUE para o comportamento anterior.
  • Aceleração no simplify2array()e portanto sapply() e mapply() (para o caso de nomes e comprimento comum > 1), graças ao PR # 17118 de Suharto Anggono.
  • mesa(X, exclude = NULL)agora define useNA = “caso existam” (ao invés de “sempre”). Juntamente com as correções para este caso, isso recupera um comportamento mais consistente compatível com versões mais antigas do R. Como consequência, resumo() para um vetor lógico não relata mais (zero) conta para NA quando não há NA
  • quadros()recebe uma nova opção include.GlobalEnv, que também permite despejar o ambiente global, t
  • Tempo()agora usa mensagem() em vez de gato() quando terminado cedo, de modo que suprimaMessages() tem um efeito;
  • citação()‘inst / CITAÇÃO’ suporta arquivos de árvores de origem do pacote, com loc apontando para o diretório que contém o pacote.
  • experimentar()ganha um novo argumento outFile com um padrão que pode ser modificado através da opções(try.outFile = .), útil principalmente para Sweave.
  • As funções de baixo nível não exportadas no pacote paralelo para a passagem serializada Robjetos de e para crianças bifurcadas agora suportam longos vetores em plataformas de 64 bits. Isso remove alguns limites de funções de nível superior, como mclapply() (mas retornando resultados em gigabytes de processos bifurcados através da a serialização deve ser evitada se possível).
  • As conexões agora são impressas()sem erro mesmo se inválida, e.g. depois de ter sido destruído.
  • a propósito()e encontra(simple.words = FALSE) não corresponde mais aos nomes de objetos começando com . que são conhecidos por serem objetos internos (como .__ S3MethodsTable__.).
  • Função de conveniência hasName()foi adicionado; destina-se a substituir o idioma comum !é nulo(x $ name) sem a correspondência de nome parcial geralmente não intencional.
  • estrutura()há soluções nomes nem coage mais longas colunas cordas a fatores (
  • estrutura()retorna NA para valores não correspondentes em x (
  • fonte()recebe novos argumentos opcionais, notavelmente exprs; isso é usado na nova função de utilitário com Autoprint().
  • fonte()obtém um novo argumento toplevel.env. Este argumento é útil para estruturas que executam testes de pacotes; c
  • SetFileTime()e file.copy(copy.date = TRUE) definirá carimbos de data / hora com frações de segundos em plataformas / sistemas de arquivos que suportam esse.
  • (somente para Windows.) informação()agora retorna timestamps de arquivo, incluindo frações de segundos; já o fez em outras plataformas desde R 2.14.0. (NB: alguns sistemas de arquivos não gravar modificação e acesso timestamps para a resolução de sub-segundo.)
  • A verificação da licença ativada pelas opções(checkPackageLicense = TRUE)agora é feito quando o namespace do pacote é carregado pela primeira vez.
  • ppr()e supsmu() obtenha um argumento de rastreamento opcional, e ppr(.., sm.method = ..spline) não está mais limitado ao tamanho da amostra n <= 2500.
  • O método POSIXct para impressão() obtém argumentos opcionais tz e usetz, t
  • Nova função check_packages_in_dir_details()nas ferramentas de pacote para analisar arquivos de log de verificação de pacote para obter detalhes da verificação.
  • As ferramentas de pacote agora exportam a função CRAN_package_db()para obter informações sobre pacotes atuais no repositório de pacotes CRAN, e várias funções para obter o status de verificação desses pacotes.
  • O (padrão) O driver Stangle que Rtangleal faz anotações para ser uma função e obtém uma nova opção evalFALSE.
  • O método padrão para quantile(X, prob)agora deve ser monótono em prob, mesmo em casos fronteiriços, ver PR # 16672.
  • relatório()agora tenta extrair um endereço de email de um campo BugReports, e se não houver, de um campo Contatos.
  • O formato()e imprimir() métodos para tamanho() resultados obter novas opções padrão e dígitos; notavelmente, standard = “IEC” e padrão = “E” permitir mais padrão (mas menos comum) abreviações do que as padrão, e.g. para kilobytes.
  • Se uma classe de referência tiver um método de validade, validObject será chamado automaticamente a partir do método de inicialização padrão para classes de referência.
  • tapply()obtém nova opção default = NA, permitindo alterar o valor previamente codificado.
  • dcf()agora interpreta consistentemente qualquer 'espaço em branco' a ser removido para incluir novas linhas.
  • O número máximo de DLLs que podem ser carregadas no R, por exemplo. através dacarga() agora pode ser aumentado configurando a variável de ambiente R_MAX_NUM_DLLS antes de iniciar o R.
  • Atribuir a um elemento de um vetor além do comprimento atual agora superaloca por uma pequena fração. O novo vetor é marcado internamente como cultivável, e o comprimento real do novo vetor é armazenado no comprimento de verdade. Isso torna a construção de um resultado de vetor atribuindo ao próximo elemento além do comprimento atual mais eficiente, embora a pré-alocação ainda seja a preferida. A implementação está sujeita a alterações e não se destina a ser usada em pacotes no momento.
  • O carregamento do espaço para nome do pacote paralelo não define mais nem altera o arquivo .Random.seed, mesmo que R_PARALLEL_PORT esteja desabilitado.

NB: Isso pode interromper a reprodutibilidade da saída, e fez por um pacote CRAN.

  • Métodos “wget”e “ondulação” para arquivo() agora dê uma R erro em vez de um valor de retorno diferente de zero quando o comando externo tem um status diferente de zero.
  • Nome da codificação “utf8″está mapeado para “UTF-8”. Muitas implementações do iconv aceitam “utf8”, mas não GNU libiconv (incluindo o final 2016 versão 1.15).
  • sessionInfo()mostra os caminhos completos para a biblioteca ou arquivos executáveis ​​que fornecem as implementações BLAS / LAPACK atualmente em uso (não disponível no Windows).
  • O algoritmo de binning usado pelos seletores de largura de banda ucv(), bw.bcv()e bw.SJ() muda para uma versão linear no tamanho de entrada n para n > nb / 2. (Os cálculos são os mesmos, mas para n / nb maior, vale a pena fazer o binning antecipadamente.)
  • Existe uma nova opção PCRE_studywhich controla quando grep(perl = TRUE) e amigos 'estudam' o padrão compilado. Anteriormente, isso foi feito para 11 ou mais seqüências de entrada: agora o padrão é 10 ou mais (mas a maioria dos exemplos precisa de muito mais para que a diferença entre estudar seja perceptível).
  • grep(perl = TRUE)e amigos agora podem usar o mecanismo Just-In-Time da PCRE, para PCRE >=20 nas plataformas em que o JIT é suportado. É usado por padrão sempre que o padrão é estudado (veja o item anterior). (Baseado em um patch de Mikko Korpela.)

Isso é controlado por uma nova opção PCRE_use_JIT.

Observe que, em geral, isso faz pouca diferença na velocidade, e pode demorar um pouco mais: seus benefícios são mais evidentes em cadeias de milhares de caracteres. Como efeito colateral, reduz as chances de excesso de pilha C na biblioteca PCRE em cadeias muito longas (milhões de caracteres, mas veja o próximo item).

Atenção: segfaults foram vistos usando PCRE com JIT ativado em compilações Sparc de 64 bits.

  • Há uma nova opção PCRE_limit_recursionfor grep(perl = TRUE) e amigos para definir um limite de recursão levando em consideração REstimate estimativa do espaço restante da pilha C (ou 10000 se isso não estiver disponível). Isso reduz a chance de estouro de pilha C, mas, por ser conservador, pode relatar uma incompatibilidade (com um aviso) em exemplos que correspondiam antes. Por padrão, é ativado se qualquer sequência de entrada tiver 1000 ou mais bytes. (PR # 16757)
  • getGraphicsEvent()agora funciona no X11(type = “Cairo”) Agradecimentos a Frederick Eaton (para reviver um patch anterior).
  • Há um novo argumento emIdlefor getGraphicsEvent(), que permite que uma função R seja executada sempre que não houver eventos gráficos pendentes. No momento, isso é suportado apenas em dispositivos X11. Agradecimentos a Frederick Eaton.
  • O deriv()e funções similares agora podem calcular derivadas de log1p(), sinpi() e funções de um argumento semelhantes,
  • mediana()ganha uma formal … argumento, para que métodos com argumentos extras possam ser fornecidos.
  • embrulhar()reduz o recuo se tiver mais da metade da largura em vez de gerar um erro.
  • Quando o código de condição se(.) ou enquanto(.) não tem comprimento um, um erro em vez de um aviso pode ser acionado configurando uma variável de ambiente, veja a página de ajuda.
  • Formatação e impressão de entradas bibliográficas (bibentry) é mais flexível e melhor documentado. Além de definir opções(citation.bibtex.max = 99)você também pode usar print(<citação>, bibtex = TRUE) (ou formato(..)) para obter as entradas do BibTeX no caso de mais de uma entrada. Isso também afeta a citação(). Contribuições para ativar o estilo = “html + bibtex” são bem-vindos.
Ainda sem votos.
Por favor, espere...
A votação está desativada no momento, manutenção de dados em andamento.

Speak Your Mind

*