我是 R 语言的新手,我还有很多东西要学。我有一个W
J 元素列表,我想用循环重命名它的元素,即W[[i]]
with等等。我能怎么做?Wi
W[[1]]
W1
问问题
21147 次
3 回答
21
names(W) <- paste0("W", seq_along(W))
应该做的伎俩。
请注意,这paste0
是在 R 2.15 中作为paste(..., sep = "", collapse)
. 如果您使用的是早期版本的 R,您可以使用以下方法实现相同的目的paste
:
names(W) <- paste("W", seq_along(W), sep = "")
于 2012-10-21T11:33:42.737 回答
15
或者,您可以使用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"
于 2012-10-21T11:56:30.460 回答
0
purrr
使用@Quentin 的数据的解决方案:
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"
于 2020-11-10T14:57:00.993 回答