R 根据条件替换列表中的值
我有一个称为平方的值列表,希望替换所有0到40的值 我试过: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
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