gpt4 book ai didi

r - 更改列表中的每个向量

转载 作者:行者123 更新时间:2023-12-04 11:15:20 25 4
gpt4 key购买 nike

我对 lapply 函数的工作原理有一个根本性的疑问。我想对列表中每个向量的每个成员进行分类。

我的 list :

s <- list(
a = c(1, 20, 300),
b = c(1.1, 20.1, 300.1),
c = c(1.2, 20.2, 300.3)
)

我的分类函数:

classify <- function(n, peaks){
which(abs(peaks-n)==min(abs(peaks-n)))
}

我的高峰期:

peaks <- c(1.27350, 20.32662, 300.02650)

如果我单独分类 s$c,我会得到我期望的结果:

> sapply(s$c,classify,peaks)
[1] 1 2 3

但是当我尝试一次对所有向量进行分类时,我得到了这个:

> lapply(s,classify,peaks)
$a
[1] 3 //should be 1,2,3

$b
[1] 3 //should be 1,2,3

$c
[1] 1 //should be 1,2,3

为什么我会得到这样的结果?我如何获得我想要的结果?

最佳答案

怎么样

> lapply(s,sapply,classify,peaks)
$a
[1] 1 2 3

$b
[1] 1 2 3

$c
[1] 1 2 3

关于r - 更改列表中的每个向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9066868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com