【问题标题】:Null value when creating list in R在 R 中创建列表时的空值
【发布时间】:2020-01-10 03:33:22
【问题描述】:

我正在使用以下代码将for 循环的结果存储在一个变量中:

> fileExist
[[1]]
[1] TRUE

[[2]]
[1] TRUE

for (i in seq_along(fileExist)){

  if (fileExist[[i]]=='TRUE'){
    index4<-vector('list', length(fileExist))
    index4[[i]]<-i
  }
}

index[[1]] 中的输出给我一个错误的结果

> index4
[[1]]
NULL

[[2]]
[1] 2

我想要实现的是: - 拥有fileExist 变量,它可以是TRUEFALSE, - 我想将TRUEfileExist 变量中的位置(索引)存储在另一个变量中

所以如果fileExist[[1]] TRUE[[2]] TRUE 我应该得到类似的东西

> index4
[[1]]
[1] 1

[[2]]
[1] 2

如果 fileExist[[1]] FALSE[[2]] TRUE 我应该得到类似

> index4
[[1]]
[1] 2

【问题讨论】:

    标签: r list for-loop vector


    【解决方案1】:

    如果我们需要索引,unlist 并用which 包装

    as.list(which(unlist(fileExist)))
    

    【讨论】:

    • 完美的解决方案,我太复杂了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-13
    • 2021-08-21
    • 1970-01-01
    • 2022-01-12
    • 2020-10-06
    • 1970-01-01
    • 2019-04-28
    相关资源
    最近更新 更多