- 697 名前:695 mailto:sage [2012/12/25(火) 21:25:57.68 ]
- >>696
それなら、expand.grid()を再帰的に使えば良い。 入れ子にするのは面倒なので二項演算子を定義すると、 > "%+%" <- function(x, y) apply(expand.grid(x, y), 1, paste, collapse = "") > a[[1]] %+% a[[2]] %+% a[[3]] [1] "147" "247" "157" "257" "167" "267" "148" "248" "158" "258" "168" "268" あとはRecall()を使って、これを一般化すれば良い。 > f696 <- function(x) { f <- function(i){ if(i > 0) return(Recall(i - 1) %+% x[[i]]) + else return("")} + return(f(length(x))) + } > f696(a) [1] "147" "247" "157" "257" "167" "267" "148" "248" "158" "258" "168" "268" 次に質問するときは、最初から>>696のように書いた方が良いよ。 または、 > forを3重にすればできるのですが、 この具体的なコードを書くとか。抽象的に説明すると、解釈の余地に幅が生まれる。
|

|