Я пытаюсь подмножество некоторых векторов на основе условия. Подмножество их индивидуально дает мне другое поведение (правильное), чем запуск подмножества в списке, содержащем их. Это может быть легко, что я не могу заметить.Подмножество объекта списка на основе логического оператора
Подменит индивидуально:
a<-1:10
b<-11:20
a[a==5]<-0
a
Это дает:
> a
[1] 1 2 3 4 0 6 7 8 9 10
Подменит в то время как в списке, используя lapply
и тот же метод Подменит как функции (т.е. x[x==5]<-0
):
a<-1:10
b<-11:20
w<-list(a,b)
q<-lapply(w, function(x){x[x==5]<-0})
q
Это дает:
> q
[[1]]
[1] 0
[[2]]
[1] 0
Вам нужно вернуть 'x' из функции' q <- lapply (w, function (x) {x [x == 5] <- 0; x}) ' –
@RichardScriven Это отлично работает. – athraa