Vas*_*y A 8 arrays r list matrix nested-lists
(我在这个问题上明确地使用了错误的术语,对不起 - 我只是不知道用R术语描述这个的正确方法......)
我想创建一个异构对象的结构.尺寸不是必需的矩形.我需要的可能只是在其他语言中称为"对象数组",如"对象".我指的是由不同成员组成的结构,即只是R中的列表 - 例如:
myObject <- list(title="Uninitialized title", xValues=rep(NA,50), yValues=rep(NA,50))
Run Code Online (Sandbox Code Playgroud)
现在我想制作100个这样的对象,并且能够用类似的东西来解决他们的成员
for (i in 1:100) {myObject[i]["xValues"]<-rnorm(50)}
Run Code Online (Sandbox Code Playgroud)
要么
for (i in 1:100) {myObject[i]$xValues<-rnorm(50)}
Run Code Online (Sandbox Code Playgroud)
我会很感激任何描述这件事情的暗示.
提前致谢!
Ant*_*ico 12
你在寻找这个神话中的野兽的名字还是该怎么做?:)我可能是错的,但我认为你只是把它称为列表列表..例如:
# create one list object
x <- list( a = 1:3 , b = c( T , F ) , d = mtcars )
# create a second list object
y <- list( a = c( 'hi', 'hello' ) , b = c( T , F ) , d = matrix( 1:4 , 2 , 2 ) )
# store both in a third object
z <- list( x , y )
# access x
z[[ 1 ]]
# access y
z[[ 2 ]]
# access x's 2nd object
z[[ 1 ]][[ 2 ]]
Run Code Online (Sandbox Code Playgroud)
我没有意识到您正在寻找创建其他具有相同结构的对象。您正在寻找replicate
。
my_fun <- function() {
list(x=rnorm(1), y=rnorm(1), z="bla")
}
replicate(2, my_fun(), simplify=FALSE)
# [[1]]
# [[1]]$x
# [1] 0.3561663
#
# [[1]]$y
# [1] 0.4795171
#
# [[1]]$z
# [1] "bla"
#
#
# [[2]]
# [[2]]$x
# [1] 0.3385942
#
# [[2]]$y
# [1] -2.465932
#
# [[2]]$z
# [1] "bla"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
19440 次 |
最近记录: |