いくら,例だからと言って,こんな汚い例はない方がよい。
> hoge1 <- 1; hoge2 <- 2; hoge3 <- 3; hoge4 <- 4
> N <- 4
> X <- vector("list",N)
> for (i in 1:N) X[[i]] <- eval(parse(text=paste("hoge",i,sep="")))
> str(X)
List of 4
$ : num 1
$ : num 2
$ : num 3
$ : num 4
> foo <- function(x) x^2
> Y <- lapply(X,foo)
> str(Y)
List of 4
$ : num 1
$ : num 4
$ : num 9
$ : num 16
> Y[[1]];Y[[2]];Y[[3]];Y[[4]]
[1] 1
[1] 4
[1] 9
[1] 16
X はベクトルでよいし,結果も lapply でなく sapply でベクトルに付値するべし
hoge1 <- 1; hoge2 <- 2; hoge3 <- 3; hoge4 <- 4
N <- 4
for (i in 1:N) X[i] <- eval(parse(text=paste("hoge",i,sep="")))
foo <- function(x) x^2
(Y <- sapply(X,foo))
> hoge1 <- 1; hoge2 <- 2; hoge3 <- 3; hoge4 <- 4
> N <- 4
> X <- vector("list",N)
> for (i in 1:N) X[[i]] <- eval(parse(text=paste("hoge",i,sep="")))
> str(X)
List of 4
$ : num 1
$ : num 2
$ : num 3
$ : num 4
> foo <- function(x) x^2
> Y <- lapply(X,foo)
> str(Y)
List of 4
$ : num 1
$ : num 4
$ : num 9
$ : num 16
> Y[[1]];Y[[2]];Y[[3]];Y[[4]]
[1] 1
[1] 4
[1] 9
[1] 16
X はベクトルでよいし,結果も lapply でなく sapply でベクトルに付値するべし
hoge1 <- 1; hoge2 <- 2; hoge3 <- 3; hoge4 <- 4
N <- 4
for (i in 1:N) X[i] <- eval(parse(text=paste("hoge",i,sep="")))
foo <- function(x) x^2
(Y <- sapply(X,foo))