r - 测试 [[1:3]] 中的错误:递归索引在级别 2 失败
问题描述
我是 R 的新手,并将列表子集如下:
test<-list(c(10,15,20,25),c(11,12,13,14),c(21,22,23,24))
test
[[1]]
[1] 10 15 20 25
[[2]]
[1] 11 12 13 14
[[3]]
[1] 21 22 23 24
现在我正在这样做
test<-test[[1:3]][1]
它显示以下错误
测试 [[1:3]] 中的错误:递归索引在级别 2 失败
解决方案
要从每个列表中选择多个值,您可以使用sapply
/ lapply
。例如,要从列表中选择前 3 个值,您可以这样做
lapply(test, `[`, 1:3)
#[[1]]
#[1] 10 15 20
#[[2]]
#[1] 11 12 13
#[[3]]
#[1] 21 22 23
或者,sapply
您将获得相同的结果,但采用矩阵形式,其中每列代表列表中的值。
sapply(test, `[`, 1:3)
# [,1] [,2] [,3]
#[1,] 10 11 21
#[2,] 15 12 22
#[3,] 20 13 23
推荐阅读
- eclipse - Sprint Boot @ConfigurationProperties 是否与 Eclipse IDE 和 InteliJ IDEA 兼容?
- python - 使用 .format() 时 Python 错误地读取字典字符串
- sql - Teradata 中不再有用于查询的假脱机空间
- javascript - 在 JavaScript 和 HTML 中嵌套引用
- azure-devops - 如何在 AzureDevOps 中查询特定时间?
- reactjs - 将 JSX 元素传递给自定义构建插件中的故事书参数
- ios - 如何从服务器 url 下载 zip 文件并将 zip 文件解压缩到 ios swift 中的本地目录?
- webpack - 将 monaco 编辑器集成到 ember octane
- java - 大标准输出的 Gradle 堆空间问题
- c# - 使用 C# 中的线程列表同步消息