41

パッケージのreplace関数のヘルプ ページがあまり役に立ちません。最悪の部分は、それがどのように機能するかを理解するのに役立つ例がありません.base

使い方を教えてください。1つか2つの例は素晴らしいでしょう。

4

5 に答える 5

43

関数を (コンソールで名前を入力して) 見ると、 で[<-説明されている関数の単純な関数化バージョンであることがわかります?"["[は R のかなり基本的な関数なので、詳細についてはそのページを参照することをお勧めします。特に重要なのは、インデックス引数 (の 2 番目の引数は、replace論理、数値、または文字クラスの値にすることができます。2 番目と 3 番目の引数の長さが異なる場合、リサイクルが発生します。

関数呼び出しを次のように「読む」必要があります。

> replace( 1:20, 10:15, 1:2)
 [1]  1  2  3  4  5  6  7  8  9  1  2  1  2  1  2 16 17 18 19 20

名前付きベクトルの文字インデックス:

> replace(c(a=1, b=2, c=3, d=4), "b", 10)
 a  b  c  d 
 1 10  3  4 

論理インデックス:

> replace(x <- c(a=1, b=2, c=3, d=4), x>2, 10)
 a  b  c  d 
 1  2 10 10 
于 2012-08-04T18:44:06.710 に答える
12

2 つの簡単な例を次に示します。

> x <- letters[1:4]
> replace(x, 3, 'Z') #replacing 'c' by 'Z'
[1] "a" "b" "Z" "d"
> 
> y <- 1:10
> replace(y, c(4,5), c(20,30)) # replacing 4th and 5th elements by 20 and 30
 [1]  1  2  3 20 30  6  7  8  9 10
于 2012-08-04T18:29:57.793 に答える