R:

2016-10-20 2 views
-1

が、私はこのコードを持っている1つのベクターにスカラーのベクトルを変換:だからR:

n<-5 

for (i in 1:n) { 
    for (k in 1:n) { 
     print (i-k) 
    } 
} 

を、結果はスカラーベクトルです。しかし、私はこのように、その中のすべての結果を1つのベクトルを取得する必要があります:

[1] 0 -1 -2 -3 -4 1 0 -1 -2 

など 私はそれを取得できますか?試してみてください。unlist()、しかし成功はありません。

+2

どのように非公開にしてみたのですか? 'unlist(lapply(1:n、" - "、1:n))'はオプションです –

+0

私はそれを正しくしようとしているのか分かりません – massa

答えて

1

は、このベクトル化を試してみてくださいすることになります。

n <- 5 
as.vector(t(outer(1:n,1:n,'-'))) 
#[1] 0 -1 -2 -3 -4 1 0 -1 -2 -3 2 1 0 -1 -2 3 2 1 0 -1 4 3 2 1 0 

OR

as.vector(sapply(1:n, function(i) i-(1:n))) 

OR

as.vector(sapply(1:n,'-',1:n)) 
+1

ありがとう!短いtnan鉱山とそれは動作します) – massa

0

このようなものはありますか?あなたの結果はa ...

n <- 5 
a <- c() 
for(i in 1:n) { 
    for(k in 1:n) { 
    print (i-k) 
    a <- c(a, i-k) 
    } 
} 
+0

結果は私のものと同じです。私は最初のコメントのような結果が必要です。 – massa