r - 如何在循环中动态创建具有动态名称的 data.frames,它们是列表的一部分
问题描述
我正在编写一个函数,它应该在事件发生后删除生物特征数据并将它们添加到列表中。切口部分工作正常。但是我想将新 data.frames 添加到列表中的部分没有。
下面的代码是我目前的状态。它创建动态列表元素,但仅将第一个单元格的数据添加到每个列表元素。
Event_search <- function(a,b,c){ # a = Data, b = Eventmarker, c = time to cut
Return = list();
x =nrow(b); #Number of events
for(i in 1:x){
Start = b[i,7]; #Getting the time for an event
Stop = Start + c; #Caluculating the endtime for an event based extraction
Event_Data = data.frame();
Event_Data <- a[ which(a[,7]>=Start & a[,7] <=Stop), ]; #writing the extrated data in a data.frame
Return[paste("Event", i , sep="_")] <- Event_Data; #this one creates
};
return(Return);
}
此代码还会创建警告:number of items to replace is not a multiple of replacement length
如果我通过更改手动添加 data.frame 名称:
Return[paste("Event", i , sep="_")] <- Event_Data;
至
Return$Event <- Event_Data;
它添加了整个 data.frame,但不幸的是,该解决方案不会是动态的。
所以我的问题是,如何创建能够容纳整个数据框的动态列表元素。
解决方案
罗兰兹的评论起到了作用。
Use double brackets: Return[[paste("Event", i , sep="_")]] <- Event_Data
推荐阅读
- vb.net - VB.Net从文本文件填充文本框
- react-native - 如何在底部标签中添加或删除标签项?
- ios - 快速获取所选行的textLabel
- javascript - 日/夜切换使用 Cookie 在页面刷新时保存
- azure - Azure 认知服务 - Vision API 单次调用导致 9 个事务
- sonos - 如何使用 sonos cloud api 停止广播流?
- r - 如何在 MAC 中增加 RStudio 的分配内存大小?
- ruby-on-rails - 使用关系属性。在关联 NxM rails_admin
- sql - 查询两个表,对不同的参数使用 SUM、GROUP 和 ORDER
- laravel - 连接过早关闭