ı listelerin bir matris var diyelim:R: listelerinin matrisin her bir elemanı fonksiyonu uygulamak ve aynı matris formatında sonucu döndüren
theList <- matrix(list(rnorm(10), rnorm(10), rnorm(10), rnorm(10)), nrow=2, ncol=2)
theList
[,1] [,2]
[1,] Numeric,10 Numeric,10
[2,] Numeric,10 Numeric,10
Ve her öğesi için bazı işlevi uygulamak istediğiniz Orijinal boyutları korurken bu matris. o lapply çalışmaz Ancak
apply(theList, 2, sapply, mean)
[,1] [,2]
[1,] 0.5678905 0.0577225
[2,] -0.2708252 0.5045110
:
apply(theList, 2, lapply, mean)
[[1]]
[[1]][[1]]
[1] 0.5678905
[[1]][[2]]
[1] -0.2708252
[[2]]
[[2]][[1]]
[1] 0.0577225
[[2]][[2]]
[1] 0.504511
listeleri ve getiri matrisinde her listesine bir işlev nasıl uygulanır
Ben sapply ile aşağıdaki eserlerini bulundu Aynı formattaki veriler - aynı boyutlara sahip listelerin matrisi?
listelerinin bir matris korkunç bir veri yapısıdır. Ayrıca, neden sapık() iyi çalıştı eğer lapply() 'ile ilgileniyorsun? –
Bu işe yararsa benim için yeterince güzel bir yapı olurdu. Ben 'sapply' istemiyorum, çünkü çıktı olarak tek bir değer döndüren işlevlerle sınırlıdır. “lapply” daha genel ve tutarlıdır. –
Sanırım basitleştiririm: (Uygula (List, 2, lapply, mean)). Ya da <'dim <- \' (lapply (TheList, mean), dim (theList)) ' –