将包含多个名称和日期的日期向量分离为 R 中单独的名称和日期向量

Separate date vector containing several names and dates into separate name and date vectors in R

我有一个 date 向量,其中包含几个名称和相应的日期。例如:

lastUpdate <- as.Date(c(RMO = 18659, NKLA = 18659, JD = 18659, AAPL = 18901, 
                        IBM = 18901, SPCE = 18659, MRNA = 18901, MPNGF = 18659),
                      origin = "1970-01-01")

但是,我想将 lastUpdate 分成相应的名称向量(即 character class)和日期向量(即 Date class).例如,手动为:

可以手动提取,但很乏味(尤其是列表较长时):

lastUpdateSymbols <- c("RMO", "NKLA", "JD", "AAPL", "IBM", "SPCE", "MRNA", "MPNGF")
lastUpdateDates <- as.Date(c(18659, 18659, 18659, 18901, 18901, 18659, 18901, 
                             18659), origin = "1970-01-01")

我的问题:

提前致谢。


使用的系统:

1) 使用 enframe 然后 frame$nameframe$value 给出这两个部分或与 with(frame, ...) 一起使用 where ... 是任何使用 name and/or value.

的表达式
library(tibble)
frame <- enframe(lastUpdate); frame

给予:

# A tibble: 8 x 2
  name  value     
  <chr> <date>    
1 RMO   2021-02-01
2 NKLA  2021-02-01
3 JD    2021-02-01
4 AAPL  2021-10-01
5 IBM   2021-10-01
6 SPCE  2021-02-01
7 MRNA  2021-10-01
8 MPNGF 2021-02-01

2) 或将每个提取到一个变量中(无包):

Names <- names(lastUpdate)
Values <- unname(lastUpdate)

lastUpdate.df <- as.data.frame(上次更新)

lastUpdateSymbols <-行名(lastUpdate.df)

lastUpdateDates <- lastUpdate.df$lastUpdate