根据最大值在列表中获取每个数据帧的一行,并将它们全部放在R中的一个新数据帧中

根据最大值在列表中获取每个数据帧的一行,并将它们全部放在R中的一个新数据帧中,r,R,经过一些来之不易的(对我来说,是初学者)数据清理之后,我现在有了一个来自一系列测量的数据帧列表。 现在,我想创建一个新的数据帧,根据其中一个数据帧列中的最大值,只包含每个数据帧的一行 这是其中一个数据帧的外观: list(`PA309 ref 6M` = structure(list(Wavelength = c(300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,

经过一些来之不易的(对我来说,是初学者)数据清理之后,我现在有了一个来自一系列测量的数据帧列表。 现在,我想创建一个新的数据帧,根据其中一个数据帧列中的最大值,只包含每个数据帧的一行

这是其中一个数据帧的外观:

list(`PA309 ref 6M` = structure(list(Wavelength = c(300, 301, 
302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 
315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 
328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 
341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 
354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 
367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 
380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 
393, 394, 395, 396, 397, 398, 399, 400), mean = c(88050, 97825.5555566667, 
107833.333333333, 119161.333333333, 129208.666666667, 141178, 
152646, 165915.333333333, 178684.666666667, 193356, 208148.666666667, 
224309.333333333, 240792, 258300.666666667, 276427.333333333, 
296127.333333333, 316690, 337663.333333333, 359532.666666667, 
382843.333333333, 404855.333333333, 427523.333333333, 449951.333333333, 
472048.666666667, 494241.333333333, 517214, 540008.666666667, 
561769.333333333, 584009.333333333, 604872.666666667, 624645.333333333, 
643634.666666667, 663086, 680633.333333333, 697850, 714818, 730947.333333333, 
745414, 759252.666666667, 771539.333333333, 782828.666666667, 
791684, 801654, 810408.666666667, 817966, 825253.333333333, 832820.666666667, 
837431.333333333, 841400, 844329.333333333, 845598.666666667, 
845490, 844946.666666667, 843556.666666667, 841356.666666667, 
838448, 833467.333333333, 827916.666666667, 821100, 813840, 805648, 
797787.333333333, 788737.333333333, 777954, 766898, 754910, 742837.333333333, 
729848.666666667, 717330.666666667, 703432.666666667, 688858, 
674260.666666667, 659590.666666667, 645462, 630890.666666667, 
615532, 600835.333333333, 585797.333333333, 570038.666666667, 
554375.333333333, 540131.333333333, 525104, 509776.666666667, 
494048, 479012, 463121.333333333, 446361.333333333, 430677.333333333, 
415540, 400765.333333333, 386695.333333333, 373296.666666667, 
360028, 347335.333333333, 335207.333333333, 323443.333333333, 
311976.666666667, 301112.666666667, 290682, 279893.333336667, 
270703.333333333), SD = c(29278.3315781484, 30734.6965259783, 
33040.5893611681, 34965.2122163349, 37698.2139806826, 40544.9920952021, 
44136.8343223662, 46942.9836858857, 50872.345034737, 54411.1411753145, 
58531.3961676409, 62377.0203306741, 67330.151670704, 71783.6371698546, 
77553.6550352937, 83633.3218121422, 89456.9806555084, 95870.7618063679, 
101839.724613401, 107605.328982041, 113338.684310933, 119160.565445676, 
125450.911679961, 132390.528488005, 139801.985484232, 147083.488305112, 
154968.465764275, 160362.050826663, 166471.876127271, 171326.942356809, 
177255.842412411, 182705.852345603, 188275.117920558, 194214.563515029, 
199580.318939519, 204775.793227618, 209229.729554223, 214325.21399966, 
218498.795688519, 222776.371829091, 225607.005426102, 229513.476135934, 
233571.284613499, 236523.371634461, 238111.11168528, 241117.689581941, 
242808.673999372, 244252.288401426, 245670.066560825, 247515.052894432, 
246855.961380991, 247657.976984389, 247520.093813277, 246938.212404102, 
246803.342378772, 246951.003269879, 244932.72848138, 243787.061595429, 
241813.833409092, 239799.79150116, 237645.340985259, 235767.877339839, 
233018.855385854, 230730.249260906, 227480.318164012, 223401.186863454, 
219657.618582496, 215796.397980442, 211662.799058628, 208152.607145174, 
204022.324896076, 199464.996651877, 194877.357046254, 191649.674364451, 
187410.709516114, 183223.929758097, 179780.148874489, 175469.891278627, 
169521.285322326, 164389.614104217, 160913.012231247, 156156.265439463, 
151334.503803109, 147576.986512125, 143293.528297687, 137884.012609633, 
132944.821340785, 128895.403367744, 124638.695564419, 120372.111127675, 
116247.889276895, 112202.576446949, 108264.290345432, 104680.172570231, 
101703.163693827, 97789.5803106514, 95186.746752546, 92071.7810479049, 
88782.5669374343, 86450.4548513189, 83008.6419195817), `SD%` = c(0.332519381921049, 
0.314178604466753, 0.306404229006196, 0.293427500668574, 0.291762270699199, 
0.287190582776368, 0.28914504358035, 0.282933365728016, 0.28470459152289, 
0.281403944927049, 0.28119995724678, 0.278084818869214, 0.279619554099405, 
0.277907285707824, 0.280557114595374, 0.282423513124339, 0.282474914444752, 
0.283924111214428, 0.283255831959824, 0.281068833157274, 0.27994860133809, 
0.27872295183657, 0.278809956513729, 0.28045949038024, 0.28286178442697, 
0.284376463717363, 0.286974034548103, 0.285458890885221, 0.285050026815674, 
0.283244642712916, 0.283770378090411, 0.28386577325274, 0.283937706301382, 
0.285343890761099, 0.285993148870844, 0.286472631113959, 0.286244603424537, 
0.287525071972971, 0.28778140042338, 0.288742727952203, 0.288194614010178, 
0.289905411926898, 0.291361715420242, 0.291856912892254, 0.291101478160804, 
0.292174148037703, 0.291549770217885, 0.29166843737408, 0.291977735394372, 
0.29314989201816, 0.291930405181565, 0.292916506386106, 0.29294167736024, 
0.29273458697195, 0.293339735877498, 0.294533475266062, 0.293872019556911, 
0.294458453864635, 0.294499858006445, 0.294652255358744, 0.294974158671354, 
0.295527225726621, 0.295432770249479, 0.296585979712048, 0.296623955420423, 
0.295930888269402, 0.29570083344738, 0.295672798809126, 0.295070054710187, 
0.295909782142391, 0.296174719457531, 0.295827721403311, 0.295451962701495, 
0.296918601504737, 0.29705734989916, 0.297667594468032, 0.299217004894001, 
0.299540269806556, 0.297385590197961, 0.296531256388662, 0.297914603913456, 
0.297381595720967, 0.296864320590931, 0.298709814657939, 0.299143921859342, 
0.297727620572361, 0.297841258668131, 0.299285319638547, 0.299943917708089, 
0.300355597442747, 0.300618805701203, 0.300572135960537, 0.300710751234437, 
0.301380719219172, 0.303403755169915, 0.302339143314083, 0.305108544717701, 
0.305771862961278, 0.305428498969438, 0.30886928895635, 0.306640634592291
)), row.names = c(NA, 101L), class = "data.frame"))
准确地说,我想在
“mean”
列中找到最大值(我想我会使用
which.max
?),并将整行复制到新的数据框中,同时在各个数据框的名称所在的位置添加一列。 对于本例,我想要的行是:

350 845598.67 246855.96 0.2919304
添加数据帧名称我希望它看起来像这样:

350 845598.67 246855.96 0.2919304 "PA309 ref 6M"
我该如何编写一个函数来实现这个技巧,然后我可以将它应用到我的列表中? 感谢任何和所有方向的解决方案

试试:

library(dplyr)
library(purrr)

df <- df_list %>%
  imap_dfr(~.x %>% slice(which.max(mean)) %>% mutate(df_from = .y))
库(dplyr)
图书馆(purrr)
df%
imap_dfr(~.x%>%切片(其中.max(平均值))%>%突变(df_from=.y))
试试:

library(dplyr)
library(purrr)

df <- df_list %>%
  imap_dfr(~.x %>% slice(which.max(mean)) %>% mutate(df_from = .y))
库(dplyr)
图书馆(purrr)
df%
imap_dfr(~.x%>%切片(其中.max(平均值))%>%突变(df_from=.y))