【问题标题】:subsetting by index in RR中的索引子集
【发布时间】:2021-08-20 18:35:14
【问题描述】:

我有一个带索引的向量:

indexes
[1] 25  2 16 23

和另一个带有逻辑的向量:

logical 
 [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[19] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE

我想保留所有逻辑项,除了索引存储在indexes 中的那些。

我认为这会有一个简单的解决方案,但我的不起作用:

  for(index in indexes){
    logical[index] = NULL
  }

【问题讨论】:

  • 试试logicals[setdiff(1:length(logical),indexes)]。您获取所有索引 1:length(logical) 并删除不需要的索引。
  • logicals[-indexes]

标签: r list indexing data.table subset


【解决方案1】:

您可以只使用减号 (-) 索引:

indexes <- c(25,  2, 16, 23)
logicals <- sample(c(T,F),25,replace=T)
logicals
#>  [1] FALSE  TRUE  TRUE  TRUE FALSE FALSE  TRUE FALSE  TRUE  TRUE FALSE  TRUE
#> [13] FALSE FALSE  TRUE FALSE FALSE FALSE FALSE  TRUE FALSE  TRUE  TRUE  TRUE
#> [25] FALSE
logicals[-indexes]
#>  [1] FALSE  TRUE  TRUE FALSE FALSE  TRUE FALSE  TRUE  TRUE FALSE  TRUE FALSE
#> [13] FALSE  TRUE FALSE FALSE FALSE  TRUE FALSE  TRUE  TRUE

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-28
    • 1970-01-01
    • 2015-08-14
    • 1970-01-01
    • 2018-12-14
    • 1970-01-01
    • 1970-01-01
    • 2016-04-20
    相关资源
    最近更新 更多