过去几天我一直在学习 R,并想了解是否可以以比我的解决方案更好的方式(也许更紧凑的代码)解决以下问题。
问题:N (~ 1000) 个数字元素的向量 V 需要按以下方式进行转换。
- 随机选择 M (~ 100) 个元素。
- 将每个这样的元素x替换为f(x)。
我的解决方案:for (i in sample(1:N, M)) V[i] = f(V[i])
编辑:函数f将单个数值作为输入,并且还输出单个数值。就像是:f <- function (x) x^3 + 2
编辑:感谢大家的贡献!我现在了解了矢量化函数的威力。:)