如何重命名由R中的循环索引的元素列表

时间:2012-10-21 11:28:20

标签: r

我是R语言的新手,我还有很多需要学习的东西。 我列出了W个J元素,我想将其W[[i]]元素重命名为WiW[[1]]W1依此类推,使用循环。我该怎么办?

3 个答案:

答案 0 :(得分:20)

names(W) <- paste0("W", seq_along(W))

应该这样做。

请注意,paste0在R 2.15中作为paste(..., sep = "", collapse)的“稍高效”版本引入。如果您使用的是早期版本的R,则可以使用paste

实现相同的目标
names(W) <- paste("W", seq_along(W), sep = "")

答案 1 :(得分:14)

或者,您可以使用sprintf()

 w<-list(a="give",b="me an",c="example")
 names(w)<-sprintf("W%i",1:length(w))

如您所见,您不需要循环。

它应该做的工作。在此示例中,名称为W1,W2和W3

print(w)
$W1
[1] "give"

$W2
[1] "me an"

$W3
[1] "example"

答案 2 :(得分:0)

使用@Quentin数据的purrr解决方案:

library(purrr)
w <- list(a = "give", b = "me an", c = "example") %>% 
  set_names(~paste0("W", 1:length(w)))
w
# $W1
# [1] "give"

# $W2
# [1] "me an"

# $W3
# [1] "example"