2017-05-24 4 views
2

名前が "a"、 "b"、値が3つの要素を持つRベクトルVを定義するとします変数xに入れます。それを行うための簡潔な方法はありますか?私。以下では、xはxの値を抽出して名前として使用するものに置き換えることができますか?c()でRベクトルを定義するときに変数に要素名を指定する簡潔な方法がありますか

V = c(a=1, b=45, ?x=100) 

これは動作します:

V = setNames(c(1, 45, 100), c("a", "b", x)) 

しかし、setNamesを使用して名前を維持し、データ値がclosedly定義文でペアリングさせずにそれを行うための方法があった場合、それは確かにいいだろう。 R言語定義から

+0

あなたのコード 'V < - c(a = 1、b = 45、setNames(100、x))'を少し簡潔に変更する方法があります。それでも 'setNames'を使用しますが、名前とデータを一緒に保持します。私はこれが大規模な解決策ではないことを理解しています... – Lyngbakr

+0

それは私には分かりません。 'a'が文字通り取られた場合、' c'は 'x'が変数であることを知っていますか?これを行うには、おそらくあなた自身の 'c'関数を書く必要があります。 –

+0

'dplyr'' x < - " c "で試してください。 unlist# abc 1 45 100'または 'V < - c(a = 1、b = 45)%data_frame(a = 1、b = 45)%>%mutate(UQ(x):= 100) ; V [x] < - 100' – akrun

答えて

0

:[関数呼び出しの]

各引数は(タグ= expr)はタグ付けされた、または単純な 発現することがすることができます。空でもよいし、特別な「 トークン '...'、 '..2'などのいずれかにすることもできます。

タグは識別子またはテキスト文字列です。

例:

f(x) 
g(tag = value, , 5) 
"odd name"("strange tag" = 5, y) 
(function(x) x^2)(5) 

特別な構文は、タグがシンボルや一般的な表現として解釈し、その値に置き換えなければ作るだろうと、私の知る限りでは、ありません。

関連する問題