r - R:根据日期从现有的较大数据帧创建子集/较小数据帧列表的函数
问题描述
我从一个大数据框开始。我想把它分成更小的数据框。我创建了一个函数来循环执行此操作
这是R中的功能代码
getPortfolios <- function(n) {
i = 1
listofdfs <- list()
for (i in 1:n) {
df <- data.frame(subset(df_log_returns, mdy(row.names(df_log_returns)) >= var$var[i] & mdy(row.names(df_log_returns)) <= var$var[i]))
listofdfs[[i]] <- list(df)
}
return(listofdfs)
}
当我跑步getPortfolio(1)
和打电话时,listofdfs[1]
我得到了错误Error: object 'listofdfs' not found
当我将其作为一个简单的循环运行时,这尤其令人费解:
listofdfs <- list()
n <- 16
for (i in 1:n) {
df <- data.frame(subset(df_log_returns, mdy(row.names(df_log_returns)) >= var$var[i] & mdy(row.names(df_log_returns)) <= var$var[i]))
listofdfs[[i]] <- df
}
listofdfs
可以叫……hmmmmm好费解……
解决方案
你应该使用
listofdfs <- getPortfolio(*)`
代替
getPortfolio(*)
推荐阅读
- r - R 中的 glm 输出和 SAS 中的 proc genmod 输出之间的区别,用于交互式模型但不是加法模型
- javascript - 使用 Vue.js 根据字段内容添加类
- vue.js - Nuxt 嵌套路由
- excel-formula - Excel:如果新客户在 x 个月后离开,则给定月份的客户数
- javascript - Ionic 3:如何随时在外部键盘上获取 keydown/keypress 事件
- list - 如何在haskell中显示给定范围的列表
- java - 如何使用 javaparser 获取 switch 语句的数据类型?
- postgresql - 连接两个一对多表会重复记录
- javascript - 如何从 Google Places API 获取菜单和产品列表的数据?
- angular-cli - 从路由中检查成功变量并在 Angular 中进行比较