假设我有一个名为myList
的现有列表。
myList <- list(list1=c("item1", "item2"), list2=c("item3", "item4"))
myList
因此包含:
$list1
[1] "item1" "item2"
$list2
[1] "item3" "item4"
我想将.t0
附加到list1
中的list2
和myList
内的每个元素,因此我最终得到:
$list1
[1] "item1.t0" "item2.t0"
$list2
[1] "item3.t0" "item4.t0"
我不想要返回list(list1=c("item1", "item2"), list2=c("item3", "item4"))
步骤并在那里添加.t0
。我想操纵myList
添加.t0
。
答案 0 :(得分:7)
使用lapply
和paste0
> lapply(myList, paste0, ".t0")
$list1
[1] "item1.t0" "item2.t0"
$list2
[1] "item3.t0" "item4.t0"
答案 1 :(得分:2)
来自tidyverse的purrr
的实施:
前缀:
library(purrr)
nms <- purrr::map_chr(myList, ~ paste0("t0.", .))
说明:
library(purrr)
nms <- purrr::map_chr(myList, paste0, ".t0")
答案 2 :(得分:0)
如果您有dataframe
格式的列,我想添加一个答案,因为其他答案对于写入的情况不起作用。
library(tidyverse)
myList <- data_frame(list1=c("item1", "item2"), list2=c("item3", "item4"))
myList <- myList %>%
mutate(
list1 = paste0(list1, ".t0"),
list2 = paste0(list2, ".t0")
)
如果您只有几列,这是最好的。您可以使用map
来遍历多个列。