r - 如何索引列表的第一个元素,并将其应用于 R 中数据帧的每一行?
问题描述
我有一列包含日期元素的列表对象,我想选择第一个日期并变异为新列,但现在我遇到了一些索引问题。
我试过索引列表,但它不适用于每一行,但总是显示第一行的第一个元素。代码如下所示:
> head(data$Date)
[[1]]
[1] "2016-06-08" "2016-06-08" "2016-06-13" "2016-06-13" "2016-06-13" "2016-06-14"
[7] "2016-06-14" "2016-06-14" "2016-06-14" "2016-06-14" "2016-06-14" "2016-09-15"
[13] "2016-10-31"
[[2]]
[1] "2016-10-02"
[[3]]
[1] "2016-09-25"
[[4]]
[1] "2017-02-16"
> data %>%
+ mutate(time1 = Date[[1]][1])%>%
+ select(time1)
# A tibble: 29,036 x 1
time1
<chr>
1 2016-06-08
2 2016-06-08
3 2016-06-08
4 2016-06-08
5 2016-06-08
6 2016-06-08
解决方案
我们也可以使用pluck
withreduce
确保Date
s 不被强制numeric
library(tidyverse)
data %>%
mutate(time1 = map(Date, pluck, 1) %>%
reduce(c))
如果我们需要last
,pluck
last
data %>%
mutate(time1 = map(Date, pluck, last) %>%
reduce(c))
推荐阅读
- javascript - React 开发工具未显示更新状态
- android - 由于 IMA 扩展特别在 Android 11 中的 Oppo 设备上调用 AudioManager 功能而导致 ANR
- c# - 如何获得小时之间的间隔并从开始到结束放入列表?
- python - Python - 替换几个字符
- mongo-go - 使用 Golang mongodb 驱动程序将原始 json 文档插入 MongoDB
- visual-studio - 我们可以将特定信息视为 Visual C++ 的错误吗?
- r - 应用 ggplotly() 后折线图未连接
- python - 有没有办法自动化 UNION ALL 插入?
- django - 如何使用 Ajax 在 Django 中添加“贪睡”按钮?
- mongodb - 无法通过 Python Web 框架 Bottle 连接到 MongoDB