假设我想将向量的每个偶数元素乘以 2,将向量的每个奇数元素乘以 3。下面是一些可以执行此操作的代码:
v <- 0:10
idx <- v %% 2 == 0
v[idx] <- v[idx] * 2
v[!idx] <- v[!idx] * 3
如果我有两个以上的案例,这将变得很困难。似乎 apply 系列函数从不处理向量,所以我不知道解决这个问题的更好方法。如果我对数据进行转换,也许使用 apply 函数会起作用,但似乎这不应该是我解决这个简单问题所需要做的事情。
有任何想法吗?
编辑:很抱歉造成混乱。我对“%%”运算符并不特别感兴趣。我想在我的问题中添加一些具体的代码,但是根据对问题的回答,太具体了。我想弄清楚如何对列表的每个成员应用一些任意函数。这对于 apply() 是不可能的,我认为 sapply() 只适用于列表。