1

以下をベクトル化する方法はありますか?

# x: some vector
# index: some vector of indeces
n <- length(index)
y <- rep(NA, n)
for (i in 1:n) {
  y[i] = myfunction(x[1:index[i])
}

myfunction基本的に、ベクトルのさまざまなサブセットに適用したいと思いますxapplyこれを処理する関数が構築されているようには見えません。

4

1 に答える 1

2

あなたが何をしているのか理解できるかどうかはわかりませんが、xベクトルから最初のindex-esの要素数を取得したい場合は、サンプルデータを作成してください。

x <- runif(10)
index <- c(2,5,4,8)

そして試してみてください:

> lapply(index, function(index) return(x[1:index]))
[[1]]
[1] 0.3869757 0.4060021

[[2]]
[1] 0.3869757 0.4060021 0.4843015 0.2064443 0.4614179

[[3]]
[1] 0.3869757 0.4060021 0.4843015 0.2064443

[[4]]
[1] 0.3869757 0.4060021 0.4843015 0.2064443 0.4614179 0.9278044 0.7351291
[8] 0.9792204
于 2011-03-16T00:12:15.687 に答える