r - 总是选择列表中的第一个元素
问题描述
让我们考虑一下列表:
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]
但它不起作用。
解决方案
这是否有效:
lapply(x, '[', 1)
[[1]]
[1] 1
[[2]]
[1] 1
[[3]]
[1] 2
sapply(x, '[', 1)
[1] 1 1 2
推荐阅读
- java - 在java中如何让用户在参差不齐的数组中输入列数,但对于每一行,列数应该不同
- python - 查找本地电话号码的正则表达式不起作用
- node.js - message.guild 在 discordjs 中返回 null
- java - docker中的Spring JWT,返回401,本地工作
- visual-studio - 如何禁用 Microsoft.CodeAnalysis.Remote.RemoteEndPoint.InvokeAsync?
- javascript - React 的组件层次结构使得重新排列标签变得很尴尬。有补救措施吗?
- python - AWS boto3 关键元素与架构不匹配
- flutter - 在 Flutter Tab bar 中,选中的 tab bar size 和 tab bar size 不能对齐。如何对齐?
- c++ - C++ - 按日期排序数组
- xamarin.forms - 有没有一种方法可以简化将 C# 绑定添加到 Xamarin 中的网格