【发布时间】:2020-06-23 07:21:40
【问题描述】:
我有一个这样的列表:
l<-list(array1,array2,array3)
我想改变第一个数组中的一个元素,我的第一个想法是这样的:
list[1][1,1,1]<-2
但它不起作用,因为尺寸问题。
我能做什么?
感谢您的帮助。
【问题讨论】:
-
您能否分享一些可重现的数据示例。在您的问题中分享
dput(list)的输出。
我有一个这样的列表:
l<-list(array1,array2,array3)
我想改变第一个数组中的一个元素,我的第一个想法是这样的:
list[1][1,1,1]<-2
但它不起作用,因为尺寸问题。
我能做什么?
感谢您的帮助。
【问题讨论】:
dput(list) 的输出。
您应该使用[[]] 来访问列表中的元素,即,
l[[1]][1,1,1] <- 2
示例
array1 <- array(1,c(1,2,3))
array2 <- array(3,c(2,1,3))
array3 <- array(5,c(2,3,1))
l<-list(array1,array2,array3)
> l
[[1]]
, , 1
[,1] [,2]
[1,] 1 1
, , 2
[,1] [,2]
[1,] 1 1
, , 3
[,1] [,2]
[1,] 1 1
[[2]]
, , 1
[,1]
[1,] 3
[2,] 3
, , 2
[,1]
[1,] 3
[2,] 3
, , 3
[,1]
[1,] 3
[2,] 3
[[3]]
, , 1
[,1] [,2] [,3]
[1,] 5 5 5
[2,] 5 5 5
l[[1]][1,1,1] <- 2 会给你
> l
[[1]]
, , 1
[,1] [,2]
[1,] 2 1
, , 2
[,1] [,2]
[1,] 1 1
, , 3
[,1] [,2]
[1,] 1 1
[[2]]
, , 1
[,1]
[1,] 3
[2,] 3
, , 2
[,1]
[1,] 3
[2,] 3
, , 3
[,1]
[1,] 3
[2,] 3
[[3]]
, , 1
[,1] [,2] [,3]
[1,] 5 5 5
[2,] 5 5 5
【讨论】: