如何使用逻辑对象从列表中删除对象

时间:2014-02-06 12:52:48

标签: r

我有一个列表list,它具有以下结构

List of 3
 $ style     : chr "S"
 $ neighbours:List of 1024
  ..$ : int [1:8] 2 3 5 10 11 18 672 673 
 $ weights   :List of 1024
  ..$ : num [1:8] 0.1283 0.1336 0.1026 0.0927 0.071 ...

我有一个结构test1

的地方列表logi [1:1024] TRUE TRUE

我想要做的是删除

如果$weights :List of 1024 ..$ : num [1:8] 0.1283 0.1336 0.1026 0.0927 0.071 ...,请

test1=FALSE

我正在尝试以下代码,但它很有用。

for (i in 1:1024){   
ifelse(test1[[i]]==FALSE,
       datlistw.id2$weights[i]=NULL,
       datlistw.id2$weights[i]=datlistw.id2$weights[i])
}

这不起作用。有人有建议吗?

问候

1 个答案:

答案 0 :(得分:2)

datlistw.id2$weights <- datlistw.id2$weights[test1]

会做到这一点。