【问题标题】:Always chose first element in the list [duplicate]总是选择列表中的第一个元素[重复]
【发布时间】:2021-06-21 00:42:20
【问题描述】:

让我们考虑一下列表:

x <- list(c(1), c(1,2), c(2,3,4))

此列表包含三个元素 - 每个位置的向量。我想提取这些向量的第一个元素:

我的原始解决方案

extract_vec <- c()
for (i in seq_len(length(x))) { 
  extract_vec[i] <- x[[i]][1]
}

会完成这项工作,但我想知道是否必须使用循环来这样做。我尝试了类似x[[1:3]][1] 的方法,但它不起作用。

【问题讨论】:

    标签: r list vector extract


    【解决方案1】:

    这行得通吗:

    lapply(x, '[', 1)
    [[1]]
    [1] 1
    
    [[2]]
    [1] 1
    
    [[3]]
    [1] 2
    
    sapply(x, '[', 1)
    [1] 1 1 2
     
    

    【讨论】:

    • 现在我们开始讨论了!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-15
    • 1970-01-01
    • 2013-12-24
    • 1970-01-01
    • 2021-10-23
    • 1970-01-01
    相关资源
    最近更新 更多