将包含多个名称和日期的日期向量分离为 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")
我的问题:
- (最好)只有
System Libraries
,什么代码可以自动将 lastUpdate
分成仅包含名称的 lastUpdateSymbols
(即 character
class ) 和 lastUpdateDates
仅包含日期(即 Date
class) 同时尊重对象内容的 order/correspondence lastUpdate
?
提前致谢。
使用的系统:
- R版本:4.1.1 (2021-08-10)
- RStudio 版本:1.4.1717
- OS: macOS Catalina 版本 10.15.7 和 macOS Big Sur 版本 11.6
1) 使用 enframe
然后 frame$name
和 frame$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
我有一个 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")
我的问题:
- (最好)只有
System Libraries
,什么代码可以自动将lastUpdate
分成仅包含名称的lastUpdateSymbols
(即character
class ) 和lastUpdateDates
仅包含日期(即Date
class) 同时尊重对象内容的 order/correspondencelastUpdate
?
提前致谢。
使用的系统:
- R版本:4.1.1 (2021-08-10)
- RStudio 版本:1.4.1717
- OS: macOS Catalina 版本 10.15.7 和 macOS Big Sur 版本 11.6
1) 使用 enframe
然后 frame$name
和 frame$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