Van egy adatkeretem, amely a start_time
és timezone
oszlopokat tartalmazza (az alábbi példa). A start_time
UTC-ben van rögzítve. Szeretnék létrehozni egy új oszlopot start_time_local
néven, amely tartalmazza az adott rekord helyi időzónán belüli kezdési idejét.
Sok példát kipróbáltam, beleértve a format()
, force_tz()
, with_tz()
stb., de a legtöbb példa azt mutatja be, hogyan lehet MINDEN időbélyeget ugyanarra az időzónára konvertálni, és nem minden időbélyeget a megfelelő időzónára.
+---------------------+---------------------+
| start_time | timezone |
+---------------------+---------------------+
| 2020-07-07 16:01:15 | Europe/Dublin |
| 2020-07-07 21:01:28 | America/Los_Angeles |
| 2020-07-20 12:45:33 | America/New_York |
| 2020-07-24 16:00:32 | America/Los_Angeles |
| 2020-07-09 14:00:39 | Europe/London |
| 2020-07-16 20:30:30 | America/Los_Angeles |
| 2020-07-29 14:03:09 | Europe/London |
| 2020-07-27 20:59:32 | America/Los_Angeles |
| 2020-07-20 16:09:54 | America/Denver |
| 2020-07-21 09:51:04 | Europe/Dublin |
+---------------------+---------------------+
# example data
df <- structure(list(start_time = structure(c(1594162875, 1594180888,
1595274333, 1595631632, 1594328439, 1594956630, 1596056589, 1595908772,
1595286594, 1595350264), class = c("POSIXct", "POSIXt"), tzone = ""),
timezone = c("Europe/Dublin", "America/Los_Angeles", "America/New_York",
"America/Los_Angeles", "Europe/London", "America/Los_Angeles",
"Europe/London", "America/Los_Angeles", "America/Denver",
"Europe/Dublin")), row.names = c(NA, -10L), class = "data.frame")
`[[.POSIXmulti` <- function(x, i, ...) { stopifnot(length(i) == 1); x[i]; }
(feltörés, nem biztos, hogy jobb módszerrel bővíthető a[[
metódus) 06.10.2020rev
és asort
, sok/legtöbb/minden attribútumot kivonnak, így a"tz"
elvész. 06.10.2020as.POSIXmulti <- function(x) useMethod("as.POSIXmulti")
általános is. A legnehezebb számomra az lenne, hogy jól működjön kenőanyaggal, és annak biztosítása, hogy jól működjön az ábrázolási módszerekkel. Természetesen minden nagyon kezelhető probléma. Örömmel jelentkezem, ha repót szeretnél indítani a Git-eden. 07.10.20201.59e+09
értéket látom... de a legtöbb művelet továbbra is működik a fentiekkel. A másik aggodalmam azokra a dolgokra vonatkozik, amelyek nem veszik észre a"tz"
attribútum véletlen eltávolítását, ami bizonyos eszközökben nem ritka. Tudja, hogy astr
mit használ a formázáshoz? 07.10.2020sapply
07.10.2020str.default
-nek szüksége lenne egy módszerre, de nem tudom, hogy adata.frame
miért nem jó nekem. (Jól nézett ki neked, így nem tudom, mi húzza ki. Jelenleg én is hibakeresőben vagyok, szóval lehet, hogy van néhány névterem.) 07.10.2020