重复R中列表中的对象

时间:2016-02-05 17:29:25

标签: r list

我有两个列表文件a和b:

a<-list(1,5,8,2,6,4,9,5)
b<-list(2,2,3,2,4,1,3,1)

我希望列表a中的每个对象重复&#34; b&#34;匹配的对象时间,分别。 预期结果如下:

[[1]]
[1] 1 1

[[2]]
[1] 5 5

[[3]]
[1] 8 8 8

[[4]]
[1] 2 2

[[5]]
[1] 6 6 6 6

[[6]]
[1] 4

[[7]]
[1] 9 9 9

[[8]]
[1] 5

我使用代码:lapply(1:length(a), function(x) {rep(a[[x]],b[[x]])})但我想探索其他方法。谢谢你的帮助!

2 个答案:

答案 0 :(得分:3)

mapply(function(x,y) rep(x,y), x = a, y = b)
[[1]]
[1] 1 1

[[2]]
[1] 5 5

[[3]]
[1] 8 8 8

[[4]]
[1] 2 2

[[5]]
[1] 6 6 6 6

[[6]]
[1] 4

[[7]]
[1] 9 9 9

[[8]]
[1] 5

答案 1 :(得分:3)

您可以使用function replaceLongUrls(element) { element = element || DocumentApp.getActiveDocument().getBody(); element.replaceText('^https?:\/\/', ''); element.replaceText('^www.', ''); element.replaceText('/$', ''); };

Map