2017-12-04 1 views
2

ich zwei Listen habe, zum Beispiel:Wie Elemente aus einer zweiten Liste innerhalb lapply() verwendet

L1 <- list(A=1:3, B=4:6) 
L2 <- list(A=2, B=3) 

und ich mag, dass die Elemente der ersten Liste von dem numers in der zweiten Liste wiederholt werden, in resultierende:

>L3 
$A 
[1] 1 2 3 1 2 3 

$B 
[1] 4 5 6 4 5 6 4 5 6 

ich habe versucht, mit lapply() aber ich kann das Recht mal Argument nicht herausfinden:

L3 <- lapply(L1, function(x) rep(x, L2)) 

Sicher ziemlich einfach zu lösen, aber ich verstehe es jetzt nicht.

+1

... Einfach '' 'Karte (' rep', L1, L2) '' ' – Sotos

+0

Große, danke! – rosapluesch

Antwort

1

Hier ist eine Lösung:

lapply(names(L1), function(x) rep(L1[[x]], L2[[x]])) 
+0

Genau das habe ich gesucht. Ganz einfach, wie ich schon sagte. Vielen Dank! – rosapluesch

Verwandte Themen