2017-04-07 13 views
0

リストのリストの各要素で同じ機能(ここではload.image)を実行するにはどうすればよいですか?リストの各要素に適用する

出発点は、二つのリストのリストである:

list1 <- list(c("Group1", "Group2", "Group3")) 
list2 <- list(c("GroupA", "GroupB", "GroupC")) 
list.all <- c(list1,list2) 

私はlapply繰り返し適用され、この関数を書いた:これは正常に動作しますが、私はから独立したフォーマットをしたい

images.list.function <- lapply(
     designs.path.list, 
     FUN = function(secondlevel.list) 
     lapply(secondlevel.list, function(x) load.image(x)) 
    ) 
    # read all jpgs into a list 
    images.list <- images.list.function 
    images.list 

を将来、第3レベルまたは第4レベルが追加される可能性があるため、レベル数。

優雅な考えはありますか?

答えて

0

これは便利ですか?

flatList = unlist(list.all) 
[1] "Group1" "Group2" "Group3" "GroupA" "GroupB" "GroupC" 

unlistを使用すると、ベクターになります。次に、画像読み込み機能にlapplyを使用してください。

d = lapply(flatList, function(x){paste(x, "-image", sep = "")}) 
> d 
[[1]] 
[1] "Group1-image" 

[[2]] 
[1] "Group2-image" 

[[3]] 
[1] "Group3-image" 

[[4]] 
[1] "GroupA-image" 

[[5]] 
[1] "GroupB-image" 

[[6]] 
[1] "GroupC-image" 
:すべての名前に "-image"を追加する paste機能を使用して例えば

関連する問題