首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将列表中的所有向量元素更改为值

如何将列表中的所有向量元素更改为值
EN

Stack Overflow用户
提问于 2019-11-04 16:19:33
回答 1查看 82关注 0票数 1

列表中的每个元素对应于一个向量。我希望将向量中的所有元素更改为指定的值。例如:

代码语言:javascript
复制
x <- c("x1","x2","x3")
y <- list(1:5,1:10,1:15)
Ans <- list()
for (i in 1:length(y)){
  Ans[[i]] <- rep(x[i],length(y[[i]]))  
}

这导致:

代码语言:javascript
复制
[[1]]
[1] "x1" "x1" "x1" "x1" "x1"

[[2]]
 [1] "x2" "x2" "x2" "x2" "x2" "x2" "x2" "x2" "x2" "x2"

[[3]]
 [1] "x3" "x3" "x3" "x3" "x3" "x3" "x3" "x3" "x3" "x3" "x3" "x3" "x3" "x3" "x3"

在R中有一个函数可以处理这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-04 16:54:41

我们可以将lengthssplit结合使用

代码语言:javascript
复制
unname(split(rep(x, lengths(y)), rep(seq_along(x), lengths(y))))
#[[1]]
#[1] "x1" "x1" "x1" "x1" "x1"

#[[2]]
# [1] "x2" "x2" "x2" "x2" "x2" "x2" "x2" "x2" "x2" "x2"

#[[3]]
# [1] "x3" "x3" "x3" "x3" "x3" "x3" "x3" "x3" "x3" "x3" "x3" "x3" "x3" "x3" "x3"

或使用Map

代码语言:javascript
复制
Map(rep, x, lengths(y))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58697319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档