首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用c("df1“、"df2”、"df3")等动态存储df2

使用c("df1“、"df2”、"df3")等动态存储df2
EN

Stack Overflow用户
提问于 2018-03-06 12:06:27
回答 1查看 43关注 0票数 0

我有以下代码:

我下载资产负债表信息,并使用rbind将信息存储在data.frame中。

代码语言:javascript
复制
rm(list=ls(all=TRUE))
setwd('C:/Users/Matt/Desktop/Stefano')

library(quantmod)
symbols <- c("HOG", "GE", "GOOG")
symbols.f <- sapply(symbols, function(x) { paste0(x, ".f") })
symbols <- sub("\\.f","", symbols.f)

financials <- list()
for (i in 1:length(symbols)) {   
 financials[i] <- list(getFinancials(symbols[i], src="yahoo", auto.assign = FALSE))
}

我的问题有以下几点;

代码语言:javascript
复制
for(j in 1:length(symbols)) {
df[[j]] <- rbind(financials[[j]]$IS$A, financials[[j]]$BS$A, financials[[j]]$CF$A)
}

当我使用

dftest <- rbind(financials[[1]]$IS$A, financials[[1]]$BS$A, financials[[1]]$CF$A)

但是,我想根据data.frames值命名symbols

那就是;

代码语言:javascript
复制
HOG <- rbind(financials[[1]]$IS$A, financials[[1]]$BS$A, financials[[1]]$CF$A)
GE <- rbind(financials[[2]]$IS$A, financials[[2]]$BS$A, financials[[2]]$CF$A)
GOOG <- rbind(financials[[3]]$IS$A, financials[[3]]$BS$A, financials[[3]]$CF$A)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-06 14:42:21

以编程方式分配全局变量通常不是一个好主意。然而,它可以通过assign在R中实现。

代码语言:javascript
复制
symbols <- c("HOG", "GE", "GOOG")
for (i in seq_along(symbols)) {
  assign(symbols[i], rbind(financials[[i]]$IS$A, financials[[i]]$BS$A, financials[[i]]$CF$A))
}

注释中建议的首选方法是使用list

代码语言:javascript
复制
result <- list()
for (i in seq_along(symbols)) {
  result[[symobls[i]]] <- rbind(...)
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49130431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档