我尝试在R中创建一个向量列表。使用以下代码:
companies <- list("AAPL", "MSFT")
columns <- list()
for (company in companies)
{
column <- c(get_price(company), get_balance_sheet_data(company), get_ebit(company))
columns <- append(columns, column)
}
每个“get_x”函数返回一个以double(s)作为值的向量。我希望“column”变量是一个包含子向量中所有值的向量,然后将该向量附加到名为“columns”的列表中。然而,这将返回一个列表,如下所示:
[[1]]
[1] 164.66
[[2]]
[1] 352755000
[[3]]
[1] 302083000
[[4]]
[1] 50672000
[[5]]
[1] 149631000
[[6]]
[1] 50672000
[[7]]
[1] 50672000
[[8]]
[1] -18577000
[[9]]
[1] 170741000
[[10]]
[1] 50672000
[[11]]
[1] 120069000
[[12]]
[1] 96423000
[[13]]
[1] 15943425
[[14]]
[1] 15943425
[[15]]
[1] 122034000
[[16]]
[1] 291.6
[[17]]
[1] 364840000
[[18]]
[1] 198298000
[[19]]
[1] 166542000
[[20]]
[1] 213574000
[[21]]
[1] 166542000
[[22]]
[1] 11489000
[[23]]
[1] 87720000
[[24]]
[1] 74602000
[[25]]
[1] 216323000
[[26]]
[1] 87720000
[[27]]
[1] 61270000
[[28]]
[1] 35850000
[[29]]
[1] 7464000
[[30]]
[1] 85779000
我想要的是一个列表,在索引1上包含一个“AAPL”的向量,在第二个索引上包含一个“MSFT”的向量,依此类推。
谢谢!
我尝试使用多个函数将向量追加到列表中,但没有任何帮助。我还将以前返回双精度的所有函数转换为返回内部具有单个值的向量(以便所有函数返回相同的数据类型-向量),但没有任何帮助。
2条答案
按热度按时间vwkv1x7d1#
而不是初始化,然后在
for
循环中执行append
,它可以更容易地用lapply
来完成,它返回一个list
的向量。关于帖子中的问题,
append
做了它被要求做的事情,即它将元素追加到list
。这里,column
是一个长度为3的向量,它被追加为列中的3个单独的新条目。例如,使用
for
循环,相反,我们可能需要将
column
输出 Package 在list
中,以将向量作为一个单元包含。mkh04yzy2#
akrun的另一个解决方案是从
lapply()
生成输出,作为随后可以与rbind()
组合的 Dataframe 列表。companies〈- list(AAPL =“AAPL”,MSFT =“MSFT”)
...和输出: