繁体   English   中英

map_dfr 和基于 R 中的列将行绑定在一起

[英]map_dfr and bindling rows together based on columns in R

我正在尝试根据列名创建一个列表,然后将所有列表绑定在一起。

也就是说,我有第一个列表:

> myList[[1]] %>% data.frame() %>% select(c(1:2))
                        WTS         FMC
frequency                 1           1
nperiods                  0           0
seasonal_period           1           1
trend             0.1758021    0.140052
spike            0.04209651  0.04940537

我想为数据中的每一列创建一个新列表,然后使用bind_rows将列表2010 Jul2010 Aug2010 Sep绑定在一起。

我可以执行以下操作:

map_dfr(data.frame(myList), ~bind_rows(.), .id = "date")

这几乎得到了我想要的,但我想这样做并为每个列WTSFMC等获取其中一个。

数据:

myList <- list(`2010 Jul` = structure(list(1, 0, 1, 0.175802105278148, 
    0.0420965089715215, -0.597180003813241, -0.14766101736596, 
    0.101328352458739, NA_real_, 1, 0.163542974434028, NA_real_, 
    -0.0477740942262392, 0.109285246298631, -0.585925108800292, 
    0.349534758601262, 1, 0, 1, 0.140051954024691, 0.0494053672229871, 
    -0.731689686416635, -0.165607865331302, -0.252997419985073, 
    NA_real_, 1, -0.0505136284783927, NA_real_, -0.172891705413366, 
    0.171035553843115, -0.389685810850311, 0.395230400055788, 
    1, 0, 1, 0.0534461538613374, 0.0231700091040301, -0.356613468922694, 
    -0.0999668254541441, -0.127071388891534, NA_real_, 1, -0.0372310379765763, 
    NA_real_, -0.124065837653166, 0.214832600571785, -0.252551509468299, 
    0.123852141180675, 1, 0, 1, 0.041796656791166, 0.0262360694498456, 
    -0.266921718141474, -0.0803839036263304, -0.128269552651254, 
    NA_real_, 1, -0.0651244706731801, NA_real_, -0.205637974697809, 
    0.151555475533217, -0.292968222735457, 0.107723199237638, 
    1, 0, 1, 0.25433724307978, 0.0224412849894418, -1.12954982181859, 
    -0.146142537909, -0.165760782142423, NA_real_, 1, 0.151156560509677, 
    NA_real_, -0.166767943225804, 0.282321896787354, -0.513571168467497, 
    0.571934734212278, 1, 0, 1, 0.0754993659336637, 0.0387283712994059, 
    -0.853707662110111, -0.0251051264639037, -0.155640882435377, 
    NA_real_, 1, 0.0578132817097772, NA_real_, -0.061111476402639, 
    0.404959638504767, -0.0639404592330979, 0.201777982385734, 
    1, 0, 1, 0.174669741802688, 0.0236268612206601, -1.04169291855456, 
    -0.0843655048351571, -0.658325339642133, NA_real_, 1, -0.325360383314808, 
    NA_real_, -0.727093163070252, 0.937170983212177, -0.767714278501687, 
    0.873631983600454, 1, 0, 1, 0.0212342532070486, 0.0394007679441418, 
    -0.343036121758394, -0.0509252272227679, -0.119680074500327, 
    NA_real_, 1, -0.0455646776030852, NA_real_, -0.0398983609027588, 
    0.337412411363141, 0.0192485531321964, 0.223377235550471, 
    1, 0, 1, 0.0420262338532703, 0.129212727423114, -0.438100122508869, 
    -0.042771290337182, -0.389638024842517, NA_real_, 1, -0.326954900702078, 
    NA_real_, -0.555804439643753, 0.310736075437147, -0.677496652871654, 
    0.493116631796998, 1, 0, 1, 0.598184608626656, 0.00485326113018123, 
    -1.55755544029203, -0.0566390666856906, -0.177252150724023, 
    NA_real_, 1, 0.057995193957956, NA_real_, -0.289185837730521, 
    0.180050213764505, -0.414345078778786, 0.193535375761028, 
    1, 0, 1, 0.568485402318989, 0.0119368452769537, -1.67771371104516, 
    -0.0263928835552806, -0.454975191345, NA_real_, 1, 0.0686977616512836, 
    NA_real_, -0.533085306700341, 0.446147099224813, -0.416815928407965, 
    0.249040354012687, 1, 0, 1, 0.124079903347872, 0.059118600048602, 
    -0.885885264087633, -0.0808876385366851, -0.060659659056956, 
    NA_real_, 1, 0.148533886538717, NA_real_, -0.00173087492998668, 
    0.344674083224914, -0.182813884409897, 0.146185243416273, 
    1, 0, 1, 0.0930926158625137, 0.0245329908921137, 0.509061201314714, 
    -0.058666146601623, -0.0356918805242959, NA_real_, 1, 0.000950336898647261, 
    NA_real_, -0.245464366660066, 0.33682941009751, -0.254338263672044, 
    0.367239900683189, 1, 0, 1, 0.22638632247172, 0.0218317533978287, 
    -0.852854792551597, -0.16522406381938, 0.167205818008961, 
    NA_real_, 1, 0.299103246969011, NA_real_, 0.337090742253813, 
    0.426672282245496, -0.0631643700301268, 0.107558529054556, 
    1, 0, 1, 0.184189030274566, 0.0177470314855779, -1.16461284208247, 
    -0.0835786581051569, -0.318545876407814, NA_real_, 1, 0.0642963953901268, 
    NA_real_, -0.301483310526926, 0.36126076411659, -0.408014673266521, 
    0.38067311290122, 1, 0, 1, 0.0764619219562191, 0.0229456293092152, 
    -0.399483875437517, -0.109463724994312, -0.0624895855715813, 
    NA_real_, 1, 0.0247766231933698, NA_real_, -0.175710273625244, 
    0.148883400498395, -0.391350369491028, 0.164652945563837, 
    1, 0, 1, 0.157413400293104, 0.0210925522480966, 0.559184312376902, 
    -0.170376937825492, -0.463695060059251, NA_real_, 1, -0.398949758420571, 
    NA_real_, -0.343559615134694, 0.360798780983868, -0.254653149412353, 
    0.291717976532446, 1, 0, 1, 0.157638226870364, 0.0328482314858161, 
    -1.04113661683743, -0.11461389672605, -0.227655536180246, 
    NA_real_, 1, 0.0955560244689036, NA_real_, -0.0850108661597532, 
    0.249052330398167, -0.121962432488975, 0.270531142248378), .Dim = c(16L, 
18L), .Dimnames = list(c("frequency", "nperiods", "seasonal_period", 
"trend", "spike", "linearity", "curvature", "e_acf1", "e_acf10", 
"entropy", "x_acf1", "x_acf10", "diff1_acf1", "diff1_acf10", 
"diff2_acf1", "diff2_acf10"), c("WTS", "FMC", "WGL", "SCG", "GPS", 
"AOS", "CVC", "EMF", "SSY", "MGA", "WEX", "MT", "HXM", "CNS", 
"LCM", "KGN", "SIHI", "JLS"))), `2010 Aug` = structure(list(1, 
    0, 1, 0.0233905158348703, 0.0208562122467506, -0.534541260410219, 
    0.0724848038424846, -0.243808681545836, NA_real_, 1, -0.127516468307146, 
    NA_real_, -0.0882273545301255, 0.330583666477203, -0.0544514809293154, 
    0.179612938516917, 1, 0, 1, 0.298243851692594, 0.0288988085684842, 
    -1.17329074859827, 0.167794305134058, -0.129125081312144, 
    NA_real_, 1, 0.165909888118736, NA_real_, 0.0234017388186864, 
    0.126122636351595, -0.0910583855529177, 0.179360806895702, 
    1, 0, 1, 0.065724074574338, 0.0758937621405237, -0.399747739700934, 
    0.108429436039378, -0.0667990493250848, NA_real_, 1, 0.0146134416445858, 
    NA_real_, -0.0265326096067546, 0.238490359616056, -0.317300024293075, 
    0.136078891269167, 1, 0, 1, 0.0359901363825194, 0.0727713985049959, 
    -0.261713912883042, 0.0760994399652499, -0.133814042822593, 
    NA_real_, 1, -0.0827578051666984, NA_real_, -0.117826507182037, 
    0.252189340156553, -0.355540397423096, 0.151183673456332, 
    1, 0, 1, 0.73385650012555, 0.004162899076158, -2.00737648513829, 
    0.0557091477539321, -0.261660339901219, NA_real_, 1, 0.451470983541603, 
    NA_real_, -0.288519428211535, 0.150745403548235, -0.543122218246143, 
    0.296612522913519, 1, 0, 1, 0.0649402281700383, 0.0378619493291227, 
    -0.31449739260034, 0.0988460944383464, 0.0349741429158428, 
    NA_real_, 1, 0.098161238113042, NA_real_, 0.0300972574757304, 
    0.298075123956731, -0.0887625952498301, 0.232199321985802, 
    1, 0, 1, 0.0945945759860801, 0.0180084376802645, -0.469510406384772, 
    0.153730038064492, -0.399294299223668, NA_real_, 1, -0.305460924007922, 
    NA_real_, -0.415074250523729, 0.222830245111534, -0.606351673786828, 
    0.374684747936308, 1, 0, 1, 0.0591309037250093, 0.0649064539127003, 
    -0.0744983518809387, 0.0920811715896319, 0.00528921345437106, 
    NA_real_, 1, 0.0298619700426544, NA_real_, 0.037634026581331, 
    0.362140624457385, -0.107462109231618, 0.2254760279785, 1, 
    0, 1, 0.078011344771787, 0.0697267856529186, -0.895566956749497, 
    -0.0499496267058433, -0.565731971800641, NA_real_, 1, -0.340406856638686, 
    NA_real_, -0.537251820856348, 0.290072188692432, -0.418146742408836, 
    0.178344451571795, 1, 0, 1, 0.036755839364403, 0.0608765681761267, 
    -0.0373907046624393, 0.10003472183405, -0.36540942843628, 
    NA_real_, 1, -0.341604813341389, NA_real_, -0.184126527521471, 
    0.165571048572808, -0.082428918609678, 0.160459761431743, 
    1, 0, 1, 0.155954127781764, 0.0165284207980147, -0.542789032914492, 
    0.198320667255402, -0.492235313036742, NA_real_, 1, -0.39030915972297, 
    NA_real_, -0.361944799122207, 0.428712468490625, -0.275063299692073, 
    0.341636357201519, 1, 0, 1, 0.0677160966850889, 0.0284434829900084, 
    -0.359449385908881, 0.113540625475898, -0.0349872275718705, 
    NA_real_, 1, 0.0516285716355073, NA_real_, 0.0458827167347926, 
    0.280987645964838, -0.0563357760675071, 0.101938565072249, 
    1, 0, 1, 0.319347071530101, 0.00980494397260724, 0.952800719371358, 
    0.0593643213576319, -0.159931065778718, NA_real_, 1, -0.161861522802606, 
    NA_real_, 0.0861865077322326, 0.462009189577021, 0.288750047974667, 
    0.412369625453985, 1, 0, 1, 0.24423399870397, 0.0156919487915331, 
    -1.35672952181182, 0.0754111723913473, -0.177255831987036, 
    NA_real_, 1, 0.2702466551225, NA_real_, 0.072432653719567, 
    0.398793873454873, 0.299718556657641, 0.420115516359753, 
    1, 0, 1, 0.145010697778435, 0.061864744065635, -0.634783939837577, 
    0.156947702469577, -0.0325408000915056, NA_real_, 1, 0.0909718902406596, 
    NA_real_, 0.0168167770621337, 0.118454773755493, -0.42986156681522, 
    0.189447158128956, 1, 0, 1, 0.272662492338871, 0.0320020691693299, 
    -1.35057407751299, -0.000704120068878284, -0.305058370459884, 
    NA_real_, 1, 0.0989171620469294, NA_real_, -0.345872268685382, 
    0.225882532526285, -0.523296429442332, 0.274117925854473, 
    1, 0, 1, 0.133849706665592, 0.0234607726133869, 0.385342516199894, 
    0.171489465028886, -0.522328366590807, NA_real_, 1, -0.444297376125095, 
    NA_real_, -0.550596521310195, 0.466264657679625, -0.73127378610922, 
    0.69157532319532, 1, 0, 1, 0.202865549667432, 0.0443986075890144, 
    -0.807925019780012, 0.171442275242251, 0.0629959271618186, 
    NA_real_, 1, 0.213447359336486, NA_real_, 0.242973171792414, 
    0.265885818267854, -0.0620290037554373, 0.141877034992979), .Dim = c(16L, 
18L), .Dimnames = list(c("frequency", "nperiods", "seasonal_period", 
"trend", "spike", "linearity", "curvature", "e_acf1", "e_acf10", 
"entropy", "x_acf1", "x_acf10", "diff1_acf1", "diff1_acf10", 
"diff2_acf1", "diff2_acf10"), c("WTS", "FMC", "WGL", "SCG", "GPS", 
"AOS", "CVC", "EMF", "SSY", "MGA", "WEX", "MT", "HXM", "CNS", 
"LCM", "KGN", "SIHI", "JLS"))), `2010 Sep` = structure(list(1, 
    0, 1, 0.114407589475582, 0.0235377481165926, -0.728800100661772, 
    -0.0166684916231905, -0.319561503372181, NA_real_, 1, -0.252283814071854, 
    NA_real_, -0.433907428334825, 0.494174288679032, -0.259632053945162, 
    0.345158784209255, 1, 0, 1, 0.0554648365804654, 0.0297035032516045, 
    -0.301137665508776, 0.0371842617719873, -0.153107729568536, 
    NA_real_, 1, -0.148125951621602, NA_real_, -0.309974262769443, 
    0.282319970549421, -0.256060952169572, 0.260036721023129, 
    1, 0, 1, 0.0724574536186097, 0.0506702652874201, -0.397515147429409, 
    -0.000875929043770737, -0.226741580969926, NA_real_, 1, -0.239426915169087, 
    NA_real_, -0.26443608261244, 0.380280023570942, -0.181952275816044, 
    0.287613920079175, 1, 0, 1, 0.0366387433543232, 0.0828210443160761, 
    0.0346015782281233, 0.0584760824131681, -0.0807409978271288, 
    NA_real_, 1, -0.0640076873681771, NA_real_, -0.241606619566609, 
    0.28402059698436, -0.32704318254068, 0.255565332273312, 1, 
    0, 1, 0.506821906250132, 0.0117517625384047, -1.57158954102578, 
    0.0777902977231915, 0.0323140578792685, NA_real_, 1, 0.314866952104353, 
    NA_real_, -0.184027731637231, 0.113495496807055, -0.416317148005885, 
    0.221007409079218, 1, 0, 1, 0.0789008969637934, 0.0227004903617495, 
    -0.270300272577158, 0.0385921685543045, -0.163539848233482, 
    NA_real_, 1, -0.186957341754706, NA_real_, 0.0122408218485358, 
    0.405097502405729, 0.156234747286005, 0.273301919830479, 
    1, 0, 1, 0.0250014845596822, 0.0302514181589841, -0.338784673049847, 
    -0.0859332071221103, -0.497829122832546, NA_real_, 1, -0.501527437157675, 
    NA_real_, -0.476584045508235, 0.580274617020235, -0.250869906535054, 
    0.356695266531789, 1, 0, 1, 0.0319333349525267, 0.0556081429363308, 
    0.147813225937377, 0.0607115815601036, -0.075824219265655, 
    NA_real_, 1, -0.0426184206883323, NA_real_, -0.0207223789747501, 
    0.385629184963258, -0.0532538380902457, 0.237605631059521, 
    1, 0, 1, 0.381518944029993, 0.0321886406040401, -1.06752151081575, 
    0.131205784717954, -0.280480506945643, NA_real_, 1, -0.179355245047458, 
    NA_real_, -0.106920170519719, 0.0714415677242584, -0.0319868419486709, 
    0.118669624281828, 1, 0, 1, 0.0121834121844098, 0.068237303825428, 
    0.0536306750135053, 0.0336173618788365, -0.369652200763938, 
    NA_real_, 1, -0.351748579579802, NA_real_, -0.528968821125061, 
    0.281681886913385, -0.514355713006262, 0.266023990706781, 
    1, 0, 1, 0.0287643057822889, 0.044676101917498, -0.0138724727466971, 
    -0.134010559894424, -0.73335419052835, NA_real_, 1, -0.71539381603517, 
    NA_real_, -0.658713675985, 0.50928626741049, -0.619760970527367, 
    0.416625800834141, 1, 0, 1, 0.05210630828958, 0.0276550837203792, 
    0.190816750390097, 0.0978766034871588, -0.0805703916378234, 
    NA_real_, 1, -0.0268457813914789, NA_real_, -0.00549001926408891, 
    0.267785723185472, -0.0608182434517501, 0.100506808744203, 
    1, 0, 1, 0, 0.0627792442320371, 0.255196051933168, -0.0382711160010135, 
    -0.386591712415439, NA_real_, 1, -0.357984708839978, NA_real_, 
    -0.368112450163228, 0.267135781124212, -0.197560540922087, 
    0.182171367812671, 1, 0, 1, 0.269386209436678, 0.0148715672740464, 
    -0.968523363062877, 0.0763244158585192, 0.0185934939902807, 
    NA_real_, 1, 0.0765904658501373, NA_real_, -0.161248155686918, 
    0.20111491459834, -0.273002230573575, 0.258423208707053, 
    1, 0, 1, 0.018597597094501, 0.0552754657963658, 0.143897330819771, 
    0.0353124852994875, -0.125202166775784, NA_real_, 1, -0.10138717345503, 
    NA_real_, -0.232282311284955, 0.358150791920914, -0.202251311791963, 
    0.313200193280975, 1, 0, 1, 0.203989370024047, 0.0224128873339424, 
    0.502551786048769, 0.170091454126145, -0.0446367518715121, 
    NA_real_, 1, -0.0199614715680664, NA_real_, -0.0784148935207206, 
    0.256326721120486, -0.629406417417173, 0.680388906963932, 
    1, 0, 1, 0.166310912865401, 0.0515699413907982, -0.563616415630654, 
    -0.124142897096449, -0.570353166601179, NA_real_, 1, -0.511575482342321, 
    NA_real_, -0.502130427060656, 0.424780030379441, -0.561486820277065, 
    0.520329930641319, 1, 0, 1, 0.125538977433979, 0.0316092331640379, 
    0.644167550608129, 0.108886405075484, 0.10582508645383, NA_real_, 
    1, 0.208780092739966, NA_real_, 0.0489489788996666, 0.285296904348623, 
    -0.161944089572295, 0.294280045785781), .Dim = c(16L, 18L
), .Dimnames = list(c("frequency", "nperiods", "seasonal_period", 
"trend", "spike", "linearity", "curvature", "e_acf1", "e_acf10", 
"entropy", "x_acf1", "x_acf10", "diff1_acf1", "diff1_acf10", 
"diff2_acf1", "diff2_acf10"), c("WTS", "FMC", "WGL", "SCG", "GPS", 
"AOS", "CVC", "EMF", "SSY", "MGA", "WEX", "MT", "HXM", "CNS", 
"LCM", "KGN", "SIHI", "JLS"))))

使用tidyverse ,操作,行名称被删除或更改为默认的NULL序列,因此在将list元素绑定在一起之前,使用rownames_to_column创建一个带有行名称的新列

library(dplyr)
library(purrr)
library(tibble)
myList %>% 
      map_dfr(~ .x %>% 
                   as.data.frame %>%
                   select(1:2) %>%
                   rownames_to_column('rname')
                   , .id = 'date')
#      date           rname         WTS         FMC
#1  2010 Jul       frequency           1           1
#2  2010 Jul        nperiods           0           0
#3  2010 Jul seasonal_period           1           1
#4  2010 Jul           trend   0.1758021    0.140052
#5  2010 Jul           spike  0.04209651  0.04940537
#6  2010 Jul       linearity    -0.59718  -0.7316897
#7  2010 Jul       curvature   -0.147661  -0.1656079
#8  2010 Jul          e_acf1   0.1013284  -0.2529974
#9  2010 Jul         e_acf10          NA          NA
# ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM