On 11/12/2010 9:57 AM, Alexander Senger wrote:
Hello list,

here is what I stumbled upon:

1>  test<- data.frame(time=as.POSIXct((1:2),origin="2000-1-1"))
1>  test
                  time
1 2000-01-01 00:00:01
2 2000-01-01 00:00:02
1>  rbind(test,b=1:2)
Fehler in as.POSIXct.numeric(value) : 'origin' muss angegeben werden

When I try to attach an additional row to a dataframe with a row
containing dates I get the error shown above (which says that there was
an error in "as.POSIXct.numeric(value)": an 'origin' has to be given).

I haven't found any information on this so I would like to know whether
this is to be regarded as a bug and be properly reported.

I do not think it is a bug; I think you may be expecting too much out of rbind(). rbind() [well, in this case, rbind.data.frame] will bind the rows of two data frame together, assuming they have the same column structure. You are passing a numeric vector as the second argument, expecting it to be cast into a date and put into a data frame before binding.

The POSIXct class does not keep information about an origin used to convert a number into a date, so subsequent attempts to convert need the origin supplied (the direct error you are getting). However, that is not enough; you still need to cast the vector into a data frame with the right column name:

rbind(test, data.frame(time=as.POSIXct(1:2, origin="2000-01-01")))
#                 time
#1 2000-01-01 00:00:01
#2 2000-01-01 00:00:02
#3 2000-01-01 00:00:01
#4 2000-01-01 00:00:02

Another though, do you really mean to add rows? Or did you want to add another column?

cbind(test,b=1:2)
#                 time b
#1 2000-01-01 00:00:01 1
#2 2000-01-01 00:00:02 2



This is my sessionInfo:

1>  sessionInfo()
R version 2.10.1 (2009-12-14)
i486-pc-linux-gnu

locale:
  [1] LC_CTYPE=de_DE.utf8       LC_NUMERIC=C
  [3] LC_TIME=de_DE.utf8        LC_COLLATE=de_DE.utf8
  [5] LC_MONETARY=C             LC_MESSAGES=de_DE.utf8
  [7] LC_PAPER=de_DE.utf8       LC_NAME=C
  [9] LC_ADDRESS=C              LC_TELEPHONE=C
[11] LC_MEASUREMENT=de_DE.utf8 LC_IDENTIFICATION=C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

loaded via a namespace (and not attached):
[1] tools_2.10.1


I'm aware that my version is somewhat outdated but it seems not much has
changed with rbind() since then. Please correct me if I'm wrong.

I don't know how much has; I ran these examples with
R version 2.12.0 Patched (2010-11-04 r53526)
Platform: i386-pc-mingw32/i386 (32-bit)

Thank you for your attention

Alex

--
Brian S. Diggs, PhD
Senior Research Associate, Department of Surgery
Oregon Health & Science University

______________________________________________
R-help@r-project.org mailing list
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.

Reply via email to