2017-11-10 3 views
0

これは簡単な答えで本当にばかげた質問だと確信していますが、私は1時間机の上に頭を向けています。目標は、1からkまでの整数空間からなるn長のベクトルをできるだけ均等に返す単純な関数を書くことです。だから、私は、関数の外側に関数内の行を実行するとRの関数がベクトルを返さない

place_in_groups <- function(n, k){ 
    rate = (n - 1)/(k - 1) 
    vect <- round(seq(from = 1, to = n, by = rate), 0) 
    return(vect) 
} 

、それは私はそれが何をしたいかを行います。適切な値にベクトルを作成します。私は、私はそれがあると確信して言ったように

place_in_groups(4,5)

[1] 1 2 2 3 4 

:私は、ベクター内でそれを実行したときしかし、私は、ないベクトルの実際の値を取得します明らかに私は間違っていますが、それは明らかに私が学ぶ必要があるものです。

+2

'' seq'の 'length.out'パラメータをチェックします。 'round(seq(1、n、length.out = k))'が十分であると思います。 – Cath

+0

'seq(from = 1、to = n、by = rate)'をチェックします。これは、等間隔の値のベクトルを作成します。次に、これらの値を丸めて、関数が出力するものを取得します。関数に何も問題はありません。あなたの期待される成果は? –

+0

私は整数のリストを含むオブジェクト "vect"を得ることを望んでいます。代わりに、私はちょうど整数を取得しています。 – St4096

答えて

0

私は疑問に思っていません。結果にstr()をお試しください。あなたが得ているのはベクトルです。

vect <- place_in_groups(4,5) 
str(vect) 
num [1:5] 1 2 2 3 4 

あなたはベクターで何をしたいですか?あなたの挑戦は何ですか?

+0

私はそれが上で答えられたと思います。私はそれをあなたが示唆したように割り当てる必要があった。私が言ったように、明らかにばかげた質問ですが、私は明らかに学ぶ必要がありました! – St4096

+0

問題はない、すべて学習していた;)。 – Dan

関連する問題