【发布时间】:2013-10-12 17:51:27
【问题描述】:
这几天我一直在学习 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
编辑:感谢大家的贡献!我现在了解了矢量化函数的威力。 :)
【问题讨论】:
-
你好,可以发一下函数吗?
-
在原问题中添加了函数定义。
-
谢谢,我认为确实如此。你可以
f直接指向整个向量,或者像你的情况一样,它的一部分。
标签: r