【问题标题】:R, change an element in an array what is in a listR,更改数组中的元素列表中的内容
【发布时间】:2020-06-23 07:21:40
【问题描述】:

我有一个这样的列表:

l<-list(array1,array2,array3)

我想改变第一个数组中的一个元素,我的第一个想法是这样的:

list[1][1,1,1]<-2

但它不起作用,因为尺寸问题。

我能做什么?

感谢您的帮助。

【问题讨论】:

  • 您能否分享一些可重现的数据示例。在您的问题中分享dput(list) 的输出。

标签: r arrays list


【解决方案1】:

您应该使用[[]] 来访问列表中的元素,即,

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] &lt;- 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-18
    • 1970-01-01
    • 1970-01-01
    • 2021-10-08
    相关资源
    最近更新 更多