我有以下列表,它是从已定义的函数返回的:
$JPY
dev20 dev50 RSI Alert.dates
1 0.1540239 0.7701194 25.071 2017-02-23
$CHF
dev20 dev50 RSI Alert.dates
1 -0.03279405 0.6012243 29.78284 2017-02-23
我想把它转换成一个表格,以便:
Currency Dates % Deviation 20MA % Deviation 50MA RSI
JPY 2017-02-23 -0.6968559 0.3526983 44.68176
CHF 2017-02-15 0.1920461 1.027927 52.27664
我想到可能没有上市,但那又回来了:
JPY.dev20 JPY.dev50 JPY.RSI JPY.Alert.dates CHF.dev20 CHF.dev50 CHF.RSI
1.540239e-01 7.701194e-01 2.507100e+01 1.487830e+09 -3.279405e-02 6.012243e-01 2.978284e+01
我不知道它从哪里拉出这些值。非常感谢帮助!
附件是一个示例输入:
structure(list(JPY = structure(list(dev20 = 0.15402387370042,
dev50 = 0.770119368502115, RSI = 25.0710018074629, Alert.dates = structure(1487829600, class = c("POSIXct",
"POSIXt"), tzone = "")), .Names = c("dev20", "dev50", "RSI",
"Alert.dates"), row.names = c(NA, -1L), class = "data.frame"),
CHF = structure(list(dev20 = -0.032794053345002, dev50 = 0.601224311324886,
RSI = 29.782838407164, Alert.dates = structure(1487829600, class = c("POSIXct",
"POSIXt"), tzone = "")), .Names = c("dev20", "dev50",
"RSI", "Alert.dates"), row.names = c(NA, -1L), class = "data.frame"),
CAD = structure(list(dev20 = 0.0368154624942435, dev50 = -0.589047399907958,
RSI = 36.8185395021506, Alert.dates = structure(1487829600, class = c("POSIXct",
"POSIXt"), tzone = "")), .Names = c("dev20", "dev50",
"RSI", "Alert.dates"), row.names = c(NA, -1L), class = "data.frame"),
SEK = structure(list(dev20 = -0.31944744226203, dev50 = 1.09935966616304,
RSI = 28.7420749197979, Alert.dates = structure(1487829600, class = c("POSIXct",
"POSIXt"), tzone = "")), .Names = c("dev20", "dev50",
"RSI", "Alert.dates"), row.names = c(NA, -1L), class = "data.frame"),
NOK = structure(list(dev20 = 0.0145621642612077, dev50 = -22.9434988026665,
RSI = 26.916564089549, Alert.dates = structure(1487829600, class = c("POSIXct",
"POSIXt"), tzone = "")), .Names = c("dev20", "dev50",
"RSI", "Alert.dates"), row.names = c(NA, -1L), class = "data.frame"),
HUF = structure(list(dev20 = -0.869198312236288, dev50 = 1.47257383966245,
RSI = 35.1942413992149, Alert.dates = structure(1487829600, class = c("POSIXct",
"POSIXt"), tzone = "")), .Names = c("dev20", "dev50",
"RSI", "Alert.dates"), row.names = c(NA, -1L), class = "data.frame"),
ILS = structure(list(dev20 = 0.535966149506351, dev50 = 1.70944992947814,
RSI = 31.1021889147085, Alert.dates = structure(1487829600, class = c("POSIXct",
"POSIXt"), tzone = "")), .Names = c("dev20", "dev50",
"RSI", "Alert.dates"), row.names = c(NA, -1L), class = "data.frame"),
PLN = structure(list(dev20 = -0.644026263705185, dev50 = 1.76243284848103,
RSI = 32.1167113843954, Alert.dates = structure(1487829600, class = c("POSIXct",
"POSIXt"), tzone = "")), .Names = c("dev20", "dev50",
"RSI", "Alert.dates"), row.names = c(NA, -1L), class = "data.frame"),
RUB = structure(list(dev20 = -0.0708237545157256, dev50 = 1.65778989904759,
RSI = 28.8003054628427, Alert.dates = structure(1487743200, class = c("POSIXct",
"POSIXt"), tzone = "")), .Names = c("dev20", "dev50",
"RSI", "Alert.dates"), row.names = c(NA, -1L), class = "data.frame"),
TRY = structure(list(dev20 = -0.190343546889518, dev50 = -0.0835654596100187,
RSI = 30.9120856971577, Alert.dates = structure(1487829600, class = c("POSIXct",
"POSIXt"), tzone = "")), .Names = c("dev20", "dev50",
"RSI", "Alert.dates"), row.names = c(NA, -1L), class = "data.frame"),
ZAR = structure(list(dev20 = -0.35993931913049, dev50 = -0.0951672021784934,
RSI = 29.3075076243689, Alert.dates = structure(1487829600, class = c("POSIXct",
"POSIXt"), tzone = "")), .Names = c("dev20", "dev50",
"RSI", "Alert.dates"), row.names = c(NA, -1L), class = "data.frame"),
BRL = structure(list(dev20 = 0.309500313985822, dev50 = 0.0717681887503484,
RSI = 36.268340221486, Alert.dates = structure(1487829600, class = c("POSIXct",
"POSIXt"), tzone = "")), .Names = c("dev20", "dev50",
"RSI", "Alert.dates"), row.names = c(NA, -1L), class = "data.frame"),
CLP = structure(list(dev20 = -0.899000911511854, dev50 = 1.98566602920413,
RSI = 33.7186834724809, Alert.dates = structure(1487829600, class = c("POSIXct",
"POSIXt"), tzone = "")), .Names = c("dev20", "dev50",
"RSI", "Alert.dates"), row.names = c(NA, -1L), class = "data.frame"),
COP = structure(list(dev20 = -0.0964268495205418, dev50 = 0.0380350350886611,
RSI = 39.2685326515606, Alert.dates = structure(1487829600, class = c("POSIXct",
"POSIXt"), tzone = "")), .Names = c("dev20", "dev50",
"RSI", "Alert.dates"), row.names = c(NA, -1L), class = "data.frame"),
MXN = structure(list(dev20 = -0.00917122680443107, dev50 = -0.46314695362417,
RSI = 37.822734568689, Alert.dates = structure(1487829600, class = c("POSIXct",
"POSIXt"), tzone = "")), .Names = c("dev20", "dev50",
"RSI", "Alert.dates"), row.names = c(NA, -1L), class = "data.frame"),
PEN = structure(list(dev20 = -0.0789294299142452, dev50 = 0.175797366627191,
RSI = 31.0501340963476, Alert.dates = structure(1487829600, class = c("POSIXct",
"POSIXt"), tzone = "")), .Names = c("dev20", "dev50",
"RSI", "Alert.dates"), row.names = c(NA, -1L), class = "data.frame"),
INR = structure(list(dev20 = -1.28960637261133, dev50 = -1663.43222744799,
RSI = 1.36263452994899, Alert.dates = structure(1487743200, class = c("POSIXct",
"POSIXt"), tzone = "")), .Names = c("dev20", "dev50",
"RSI", "Alert.dates"), row.names = c(NA, -1L), class = "data.frame")), .Names = c("JPY",
"CHF", "CAD", "SEK", "NOK", "HUF", "ILS", "PLN", "RUB", "TRY",
"ZAR", "BRL", "CLP", "COP", "MXN", "PEN", "INR"))
structure(list(JPY = structure(list(dev20 = 0.15402387370042,
dev50 = 0.770119368502115, RSI = 25.0710018074629, Alert.dates = structure(1487829600, class = c("POSIXct",
"POSIXt"), tzone = "")), .Names = c("dev20", "dev50", "RSI",
"Alert.dates"), row.names = c(NA, -1L), class = "data.frame"),
CHF = structure(list(dev20 = -0.032794053345002, dev50 = 0.601224311324886,
RSI = 29.782838407164, Alert.dates = structure(1487829600, class = c("POSIXct",
"POSIXt"), tzone = "")), .Names = c("dev20", "dev50",
"RSI", "Alert.dates"), row.names = c(NA, -1L), class = "data.frame"),
CAD = structure(list(dev20 = 0.0368154624942435, dev50 = -0.589047399907958,
RSI = 36.8185395021506, Alert.dates = structure(1487829600, class = c("POSIXct",
"POSIXt"), tzone = "")), .Names = c("dev20", "dev50",
"RSI", "Alert.dates"), row.names = c(NA, -1L), class = "data.frame"),
SEK = structure(list(dev20 = -0.31944744226203, dev50 = 1.09935966616304,
RSI = 28.7420749197979, Alert.dates = structure(1487829600, class = c("POSIXct",
"POSIXt"), tzone = "")), .Names = c("dev20", "dev50",
"RSI", "Alert.dates"), row.names = c(NA, -1L), class = "data.frame"),
NOK = structure(list(dev20 = 0.0145621642612077, dev50 = -22.9434988026665,
RSI = 26.916564089549, Alert.dates = structure(1487829600, class = c("POSIXct",
"POSIXt"), tzone = "")), .Names = c("dev20", "dev50",
"RSI", "Alert.dates"), row.names = c(NA, -1L), class = "data.frame"),
HUF = structure(list(dev20 = -0.869198312236288, dev50 = 1.47257383966245,
RSI = 35.1942413992149, Alert.dates = structure(1487829600, class = c("POSIXct",
"POSIXt"), tzone = "")), .Names = c("dev20", "dev50",
"RSI", "Alert.dates"), row.names = c(NA, -1L), class = "data.frame"),
ILS = structure(list(dev20 = 0.535966149506351, dev50 = 1.70944992947814,
RSI = 31.1021889147085, Alert.dates = structure(1487829600, class = c("POSIXct",
"POSIXt"), tzone = "")), .Names = c("dev20", "dev50",
"RSI", "Alert.dates"), row.names = c(NA, -1L), class = "data.frame"),
PLN = structure(list(dev20 = -0.644026263705185, dev50 = 1.76243284848103,
RSI = 32.1167113843954, Alert.dates = structure(1487829600, class = c("POSIXct",
"POSIXt"), tzone = "")), .Names = c("dev20", "dev50",
"RSI", "Alert.dates"), row.names = c(NA, -1L), class = "data.frame"),
RUB = structure(list(dev20 = -0.0708237545157256, dev50 = 1.65778989904759,
RSI = 28.8003054628427, Alert.dates = structure(1487743200, class = c("POSIXct",
"POSIXt"), tzone = "")), .Names = c("dev20", "dev50",
"RSI", "Alert.dates"), row.names = c(NA, -1L), class = "data.frame"),
TRY = structure(list(dev20 = -0.190343546889518, dev50 = -0.0835654596100187,
RSI = 30.9120856971577, Alert.dates = structure(1487829600, class = c("POSIXct",
"POSIXt"), tzone = "")), .Names = c("dev20", "dev50",
"RSI", "Alert.dates"), row.names = c(NA, -1L), class = "data.frame"),
ZAR = structure(list(dev20 = -0.35993931913049, dev50 = -0.0951672021784934,
RSI = 29.3075076243689, Alert.dates = structure(1487829600, class = c("POSIXct",
"POSIXt"), tzone = "")), .Names = c("dev20", "dev50",
"RSI", "Alert.dates"), row.names = c(NA, -1L), class = "data.frame"),
BRL = structure(list(dev20 = 0.309500313985822, dev50 = 0.0717681887503484,
RSI = 36.268340221486, Alert.dates = structure(1487829600, class = c("POSIXct",
"POSIXt"), tzone = "")), .Names = c("dev20", "dev50",
"RSI", "Alert.dates"), row.names = c(NA, -1L), class = "data.frame"),
CLP = structure(list(dev20 = -0.899000911511854, dev50 = 1.98566602920413,
RSI = 33.7186834724809, Alert.dates = structure(1487829600, class = c("POSIXct",
"POSIXt"), tzone = "")), .Names = c("dev20", "dev50",
"RSI", "Alert.dates"), row.names = c(NA, -1L), class = "data.frame"),
COP = structure(list(dev20 = -0.0964268495205418, dev50 = 0.0380350350886611,
RSI = 39.2685326515606, Alert.dates = structure(1487829600, class = c("POSIXct",
"POSIXt"), tzone = "")), .Names = c("dev20", "dev50",
"RSI", "Alert.dates"), row.names = c(NA, -1L), class = "data.frame"),
MXN = structure(list(dev20 = -0.00917122680443107, dev50 = -0.46314695362417,
RSI = 37.822734568689, Alert.dates = structure(1487829600, class = c("POSIXct",
"POSIXt"), tzone = "")), .Names = c("dev20", "dev50",
"RSI", "Alert.dates"), row.names = c(NA, -1L), class = "data.frame"),
PEN = structure(list(dev20 = -0.0789294299142452, dev50 = 0.175797366627191,
RSI = 31.0501340963476, Alert.dates = structure(1487829600, class = c("POSIXct",
"POSIXt"), tzone = "")), .Names = c("dev20", "dev50",
"RSI", "Alert.dates"), row.names = c(NA, -1L), class = "data.frame"),
INR = structure(list(dev20 = -1.28960637261133, dev50 = -1663.43222744799,
RSI = 1.36263452994899, Alert.dates = structure(1487743200, class = c("POSIXct",
"POSIXt"), tzone = "")), .Names = c("dev20", "dev50",
"RSI", "Alert.dates"), row.names = c(NA, -1L), class = "data.frame")), .Names = c("JPY",
"CHF", "CAD", "SEK", "NOK", "HUF", "ILS", "PLN", "RUB", "TRY",
"ZAR", "BRL", "CLP", "COP", "MXN", "PEN", "INR"))
答案 0 :(得分:1)
选项1 :使用bind_rows
中的dplyr
,其中df
是您的数据框列表。
library(dplyr)
bind_rows(df, .id="Currency")
# Currency dev20 dev50 RSI Alert.dates
# 1 JPY 0.154023874 7.701194e-01 25.071002 2017-02-23 11:30:00
# 2 CHF -0.032794053 6.012243e-01 29.782838 2017-02-23 11:30:00
# 3 CAD 0.036815462 -5.890474e-01 36.818540 2017-02-23 11:30:00
# 4 SEK -0.319447442 1.099360e+00 28.742075 2017-02-23 11:30:00
# 5 NOK 0.014562164 -2.294350e+01 26.916564 2017-02-23 11:30:00
# 6 HUF -0.869198312 1.472574e+00 35.194241 2017-02-23 11:30:00
# 7 ILS 0.535966150 1.709450e+00 31.102189 2017-02-23 11:30:00
# 8 PLN -0.644026264 1.762433e+00 32.116711 2017-02-23 11:30:00
# 9 RUB -0.070823755 1.657790e+00 28.800305 2017-02-22 11:30:00
# 10 TRY -0.190343547 -8.356546e-02 30.912086 2017-02-23 11:30:00
# 11 ZAR -0.359939319 -9.516720e-02 29.307508 2017-02-23 11:30:00
# 12 BRL 0.309500314 7.176819e-02 36.268340 2017-02-23 11:30:00
# 13 CLP -0.899000912 1.985666e+00 33.718683 2017-02-23 11:30:00
# 14 COP -0.096426850 3.803504e-02 39.268533 2017-02-23 11:30:00
# 15 MXN -0.009171227 -4.631470e-01 37.822735 2017-02-23 11:30:00
# 16 PEN -0.078929430 1.757974e-01 31.050134 2017-02-23 11:30:00
# 17 INR -1.289606373 -1.663432e+03 1.362635 2017-02-22 11:30:00
选项2 :使用rbindlist
data.table
library(data.table)
rbindlist(df, idcol="Currency")
# Currency dev20 dev50 RSI Alert.dates
# 1: JPY 0.154023874 7.701194e-01 25.071002 2017-02-23 11:30:00
# 2: CHF -0.032794053 6.012243e-01 29.782838 2017-02-23 11:30:00
# 3: CAD 0.036815462 -5.890474e-01 36.818540 2017-02-23 11:30:00
# 4: SEK -0.319447442 1.099360e+00 28.742075 2017-02-23 11:30:00
# 5: NOK 0.014562164 -2.294350e+01 26.916564 2017-02-23 11:30:00
# 6: HUF -0.869198312 1.472574e+00 35.194241 2017-02-23 11:30:00
# 7: ILS 0.535966150 1.709450e+00 31.102189 2017-02-23 11:30:00
# 8: PLN -0.644026264 1.762433e+00 32.116711 2017-02-23 11:30:00
# 9: RUB -0.070823755 1.657790e+00 28.800305 2017-02-22 11:30:00
# 10: TRY -0.190343547 -8.356546e-02 30.912086 2017-02-23 11:30:00
# 11: ZAR -0.359939319 -9.516720e-02 29.307508 2017-02-23 11:30:00
# 12: BRL 0.309500314 7.176819e-02 36.268340 2017-02-23 11:30:00
# 13: CLP -0.899000912 1.985666e+00 33.718683 2017-02-23 11:30:00
# 14: COP -0.096426850 3.803504e-02 39.268533 2017-02-23 11:30:00
# 15: MXN -0.009171227 -4.631470e-01 37.822735 2017-02-23 11:30:00
# 16: PEN -0.078929430 1.757974e-01 31.050134 2017-02-23 11:30:00
# 17: INR -1.289606373 -1.663432e+03 1.362635 2017-02-22 11:30:00
答案 1 :(得分:0)
我们可以使用Map
创建“货币”列,然后rbind
do.call(rbind, Map(cbind, list_df, Currency = names(list_df)))