Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何将列表转换为其中一个字段的值向量?_R_List_Field - Fatal编程技术网

R 如何将列表转换为其中一个字段的值向量?

R 如何将列表转换为其中一个字段的值向量?,r,list,field,R,List,Field,现在我想从这个列表中提取qwertys;ie我想获得一个等价的c(5,55,555),因为这个列表中连续元素的qwerty字段的值是5,55,555 如何获得这个 (如果我陷入XY:我真正想要实现的是得到这个列表中qwerty字段具有最大值的元素;我认为获得这个值的一种方法是将qwerty提取到一个中间数值,然后我可以调用max打开)我们可以拔出这个“qwerty”元素,通过使用map l = list() l[[1]] = list(); l[[1]]$asdf = 'jkl'; l[[1]]

现在我想从这个列表中提取
qwerty
s;ie我想获得一个等价的
c(5,55,555)
,因为这个列表中连续元素的
qwerty
字段的值是
5
55
555

如何获得这个


(如果我陷入XY:我真正想要实现的是得到这个列表中
qwerty
字段具有最大值的元素;我认为获得这个值的一种方法是将
qwerty
提取到一个中间
数值
,然后我可以调用
max
打开)

我们可以
拔出
这个“qwerty”元素,通过使用
map

l = list()
l[[1]] = list(); l[[1]]$asdf = 'jkl'; l[[1]]$qwerty = 5
l[[2]] = list(); l[[2]]$asdf = 'zxcv'; l[[2]]$qwerty = 55
l[[3]] = list(); l[[3]]$asdf = 'poiu'; l[[3]]$qwerty = 555

或者使用
baser中的
sapply

library(tidyverse)
map_dbl(l, pluck, "qwerty")
#[1]   5  55 555
max
换行以获取最大值

sapply(l, `[[`, "qwerty")
#[1]   5  55 555
如果它是
列表的元素

max(sapply(l, `[[`, "qwerty"))
#[1] 555
i1 <- which.max(sapply(l, `[[`, "qwerty"))
l[i1]
#[[1]]
#[[1]]$asdf
#[1] "poiu"

#[[1]]$qwerty
#[1] 555
l %>%
    transpose %>%
    .$qwerty %>% 
    unlist %>% 
    which.max %>% 
    magrittr::extract(l, .)