(Dies scheint wie eine schreckliche Hack. Probleme, den Wert zu sehen, entlang dieser Linien in fortfahren, aber vielleicht wird es klären, was tobuild eine R-Funktion benötigt wird „Anruf“.)
Verwenden scan
ein Zeichen Vektor zu erstellen von der richtigen Länge. Fügen Sie es dann in eine Liste ein, in der das Array das erste Element ist. Sie benötigen die „leere“ Positionen in TRUE zu konvertieren, das Aufschneiden zu bekommen, um zu folgen:
vec <- scan(text= inputDims, sep="," , what="")
arglist <- list(outputArray)
arglist[ 2:(length(vec)+1) ] <- as.list(vec)
arglist[ arglist==""] <- TRUE
# Using your example in the other question
> do.call("[", arglist)
bb bbb
a1 NA NA
a2 NA NA
a3 NA NA
Sie früher abind verwiesen wurde :: asub, und wenn Sie Ameise, was Gymnastik zu sehen, es mit seinen Argumenten tut (das nicht ähnlich genug, um Ihr Problem ist) tut dies dann mit dem Paket geladen:
getAnywhere(asub.default)
Für downvoters: könnten Sie mir sagen, wie man damit umgehen: http://stackoverflow.com/questions/42578273/array-subset -element-aus-einer-Dimension-für-Name-dynamisch, weil dies ein komplexeres Problem ist und diese Frage der Versuch ist, es zu lösen ... – RSzT
Was versuchen Sie zu erreichen? [Unterteile dynamisch eine Dimension] (http://stackoverflow.com/questions/42562823/subset-parts-of-array-with-dynamic-dimension)? –
Wenn Sie 'idx <-" CCC "' setzen, gibt 'outputArray [,, idx,]' zurück, was Sie wollen. –