Problem 1ではfilterを使いたいですよね。Rでfilterにあたるものはないようです。その代わりにwhichを使います。whichは条件を満たす要素の添え字のベクトルを作ります。
N <- 10 v <- 1:(N-1) print(which(v %% 3 == 0 | v %%5 == 0))
[1] 3 5 6 9
そしてその添え字のベクトルをベクトルに適用すると、添え字の要素が抽出されます。
[追記]
subsetという関数があるんですね。
N <- 1000 v <- 1:(N-1) w <- subset(v, v %% 3 == 0 | v %% 5 == 0) print(sum(w))
w <- v[which(v %% 3 == 0 | v %% 5 == 0)] print(sum(w))
このように2段階を経る必要があるわけですが、この問題は添え字と要素が同じなので、1段階でOKです。
N <- 1000 v <- 1:(N-1) w <- which(v %% 3 == 0 | v %% 5 == 0) print(sum(w))