R 根据条件替换列表中的值

R 根据条件替换列表中的值,r,list,R,List,我有一个称为平方的值列表,希望替换所有0到40的值 我试过: replace(squares, squares==0, 40) 但是列表保持不变如果它是一个列表,则使用lappy循环通过列表,并使用替换 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

我有一个称为平方的值列表,希望替换所有0到40的值

我试过:

replace(squares, squares==0, 40)

但是列表保持不变

如果它是一个
列表
,则使用
lappy
循环通过
列表
,并使用
替换

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我认为,出于这个目的,您可以将其视为一个向量,如下所示:

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

非常感谢…我正在玩lappy函数,但我没有想到我可以把替换放在那里
[[1]]
[1] 2

[[2]]
[1] 4

[[3]]
[1] 6

[[4]]
[1] 40

[[5]]
[1] 8

[[6]]
[1] 40

[[7]]
[1] 10

[[8]]
[1] 20