Document as.IDate() behaviour with fractional dates
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 1/5
- Tempo estimado
- Menos de uma hora
- Facilidade para iniciantes
- 78/100
- Tipo de issue
- Documentação
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Stack de tecnologia
- r
- Domínio
- documentation
Direção de pesquisa
O comportamento vem de as.IDate() para entradas do tipo Date, que passa por as.integer() e por isso arredonda em direção à época; os exemplos do relatório mostram a diferença em relação a truncar primeiro. Encontre a documentação de as.IDate (o arquivo Rd ou o bloco roxygen) e adicione uma nota curta informando que valores Date fracionários são truncados em direção a zero, com o exemplo da issue. Está pronto quando a página de ajuda indica o arredondamento e os exemplos continuam sendo executados.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
as.IDate() calls as.integer() on Date input which means fractional dates are rounded towards the unix epoch. This leads to the following behaviour.
(origin <- .Date(0))
#> [1] "1970-01-01"
(dates <- c(origin - 0.2, origin + 0.2))
#> [1] "1969-12-31" "1970-01-01"
data.table::as.IDate(dates)
#> [1] "1970-01-01" "1970-01-01"
# I believe this is being done internally with the 'Date' method
as.integer(dates)
#> [1] 0 0
# Alternative is to floor first
as.integer(floor(unclass(dates)))
#> [1] -1 0
To me flooring is the more 'expected' result so (assuming it is not something you wish to change) is it worth pointing this behaviour out explicitly in the documentation. Apologies if I've missed this but couldn't see it mentioned.
- Linguagem predominante
- R
- Estrelas
- 3.9k
- Forks
- 1.1k
- Merge médio
- 1d 8h
- PRs com merge (30d)
- 14
Preparar o ambiente
Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de Rdatatable/data.table
-
beginner-task
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Rdatatable/data.table#7948 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
as.data.table() recurses without end on a survival::Surv object (or any data.frame carrying one)Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
Rdatatable/data.table#7887 ·
Mantenedores costumam responder em até 1 dia
-
test() doesn't distinguish plain NA_real_, NaNTalvez já em andamento @MichaelChirico assumiu há 99 dias. Abertaconsistency tests
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Rdatatable/data.table#7853 · 3 comentários ·
Mantenedores costumam responder em até 1 dia
-
HAVE_LONG_DOUBLE is conditioned on but never setTalvez já em andamento @venom1204 assumiu há 543 dias. Abertainternals
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
Rdatatable/data.table#6938 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
encoding fread
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
Rdatatable/data.table#5179 · 8 comentários ·
Mantenedores costumam responder em até 1 dia
Todas as issues de Rdatatable/data.table
Issues semelhantes
-
bug key bindings source editor
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
REQ - Positron IDE guidanceTalvez já em andamento @johannajokio assumiu há 1 dia. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
-
get_procs() @return docs don't match returned columns, and pid column is the row indexTalvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 67/100
posit-dev/connectapi#532 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
Huber-group-EMBL/Rarr#294 ·
Mantenedores costumam responder em até 1 dia