R语言 用同一列中的列表元素替换列值

sirbozc5  于 2023-06-19  发布在  其他
关注(0)|答案(1)|浏览(146)

我有下面的dataframe我将str_split()函数应用于YEARS。

library(dplyr)
library(stringr)

YEARS <- c("2020/2021", "2021/2022", "2022/2023")  
VALUE <- c(10,5,3)  
x <- data.frame(YEARS, VALUE) %>%
     mutate(YEARS=str_split(YEARS, "/"))

我希望每一年只保留列表的第一个元素,如果可能的话使用dplyr。我试过这个

x %>% mutate(YEARS=YEARS[[1]][1])

但它不起作用,只是将每个值更改为2020年:
| 年|价值|
| - -----|- -----|
| 二〇二〇年|十个|
| 二〇二〇年|5个|
| 二〇二〇年|3|
我也尝试了咕噜声,但同样的结果。有谁知道为什么它不能正常工作,以及如何修复它?

mec1mxoz

mec1mxoz1#

试试这个:

library(dplyr)
library(stringr)
library(purrr)

YEARS <- c("2020/2021", "2021/2022", "2022/2023")
VALUE <- c(10, 5, 3)

x <- data.frame(YEARS, VALUE) %>%
  mutate(YEARS = map(YEARS, ~ str_split(.x, "/")[[1]][1]))

相关问题