1. ホーム
  2. r

[解決済み] 1つのステートメントで名前を持つ数値ベクトルを作成しますか?

2022-02-17 07:28:47

質問内容

関数のパラメーターのデフォルト値を名前付き数値に設定しようとしています。 1つのステートメントで作成する方法はあるのでしょうか? numericとvectorをチェックしましたが、そうではなさそうです。 おそらく、私は行列またはdata.frameを変換し、1つのステートメントで同じ結果を達成することができますか? はっきり言って、私は以下のことを一発でやろうとしています。

test = c( 1 , 2 )
names( test ) = c( "A" , "B" )

解決方法は?

ベクトル要素の命名規則は、リストと同じです。

newfunc <- function(A=1, B=2) { body}  # the parameters are an 'alist' with two items

代わりに、これを名前付きベクトルのパラメータにしたい場合 (この場合、引数は apply ):

newfunc <- function(params =c(A=1, B=2) ) { body} # a vector wtih two elements

代わりに、これを名前付きリストのようなパラメータにしたい場合。

newfunc <- function(params =list(A=1, B=2) ) { body} 
    # a single parameter (with two elements in a list structure