将函数输出合并到具有不同列名的数据框中

时间:2019-11-17 22:51:18

标签: r function dataframe

我试图找出如何从此函数中获取具有不同列名的单个数据帧(或小标题)。此代码使用相同的日期和相同的列名称打印三个单独的块。列值却不同。

hello <- function(x){
  fx <- Quandl(x)

  fx <- fx %>%
    select(Date, Open, Close) %>%
    mutate(new_col = `Open` - `Close`) %>%
    select(Date, new_col)
  print(kable(head(fx), format = "rst"))
}

lapply(c(EUR, USD, RUB), fx)

我通过复制每个输入(EUR,USD,RUB)的代码来做很长的路要走。然后将它们与下面的功能合并,然后转换为小标题,以消除在通过kable打印之前左侧的观察数字。

Reduce(function(x, y) merge(x, y, all = TRUE), list(EUR, USD, RUB))

只想看看使用一个功能可以更轻松地完成工作。

谢谢!

编辑1:

感谢您提出的改善问题的答案和建议!

因此可重现的代码如下:

Wheat<-"CFTC/001602_FO_ALL"
Corn<-"CFTC/002602_F_ALL"
Beans<-"CFTC/005602_F_ALL"

funds<-function(x){

  cftc<-Quandl(x)

cftc<-cftc%>%
  select(Date,`Money Manager Longs`,`Money Manager Shorts`)%>%
  mutate(Funds_Net = `Money Manager Longs`-`Money Manager Shorts`)%>%
  select(Date,Funds_Net)
print(kable(head(cftc),format = "rst"))
}

lapply(c(Wheat,Corn,Beans),funds)

我的输出是这样的: enter image description here

我想要的输出是这样的: enter image description here

谢谢!

0 个答案:

没有答案