根据条件替换列表中的值

时间:2018-02-24 07:35:03

标签: r list

我有一个名为square的值列表,并希望将所有0到40的值替换为。

我试过了:

{{ dd($mp) }}
{{ dd($mc) }}
{{ dd($mpc) }}

但列表保持不变

2 个答案:

答案 0 :(得分:1)

如果是list,请使用list循环浏览lapply并使用replace

squares <- lapply(squares, function(x) replace(x, x==0, 40))
squares
#[[1]]
#[1] 40  1  2  3  4  5

#[[2]]
#[1] 1 2 3 4 5 6

#[[3]]
#[1] 40  1  2  3

数据

squares <- list(0:5, 1:6, 0:3)

答案 1 :(得分:0)

我认为,为此目的,您可以将其视为一个向量,如下所示:

squares=list(2,4,6,0,8,0,10,20)
squares[squares==0]=40

输出:

[[1]]
[1] 2

[[2]]
[1] 4

[[3]]
[1] 6

[[4]]
[1] 40

[[5]]
[1] 8

[[6]]
[1] 40

[[7]]
[1] 10

[[8]]
[1] 20