r - 为什么附加列表和向量之间存在差异?
问题描述
我的问题是为什么下面的代码
list1 <- list()
list1[[1]] <- c()
list1[[1]] <- c(list1[[1]], 7)
显示错误
list1[[1]] 中的错误:下标超出范围
以及为什么下面的代码
vector1 <- c()
vector1 <- c(vector1, 7)
作品?我想做这样的事情
for (i in c(1,2,3)){
for (j in c(1,2,3)){
list1[[i]].append(list3[[i]], j)
}
}
解决方案
你在寻找类似的东西吗?
使用 for 循环 您可以通过执行以下操作将数字附加到列表的每个向量:
list1 = vector("list",3)
for(i in 1:3)
{
for(j in 1:3)
{
list1[[i]] = c(list1[[i]],j)
}
}
你得到以下输出:
> list1
[[1]]
[1] 1 2 3
[[2]]
[1] 1 2 3
[[3]]
[1] 1 2 3
使用 lapply
你可以做同样的事情而不需要使用for
循环,而是lapply
list3 = vector("list",3)
list3 = lapply(list3,function(x){1:3})
你会得到类似的输出
推荐阅读
- ios - 登录过程完成后如何更改视图
- blast - blastpgp 中的错误:未生成空输出文件和检查点文件
- java - javax.persistence.TransactionRequiredException:执行更新/删除查询,不能激活事务
- javascript - 如何修复加号和减号按钮
- linux - 优化大文件的grep操作
- android - 使用“adb reverse”连接开发服务器失败
- jquery - jQuery 开始/停止序列只工作一次
- azure-devops - Azure DevOps (VSTS) - Jenkins Pipeline - 设置用户代理
- c - 了解 IP 生存时间与多个原始套接字上的 recvfrom 的关系
- c# - 进入函数的能力取决于调用它的托管函数