R で with() 関数と inside() 関数を使用する方法
R のwith()関数とinside()関数を使用して、データ フレームに基づいて式を評価できます。
これらの関数は次の構文を使用します。
with(data, expression)
within(data, expression)
金:
- data:データブロックの名前
- 式:評価する式
2 つの関数の違いは次のとおりです。
- with() は、元のデータ フレームを変更せずに式を評価します。
- inside()は式を評価し、元のデータ フレームのコピーを作成します。
次の例は、次のデータ フレームで実際に各関数を使用する方法を示しています。
#create data frame
df <- data. frame (x=c(3, 5, 5, 7, 6, 10),
y=c(2, 2, 0, 5, 9, 4))
#view data frame
df
xy
1 3 2
2 5 2
3 5 0
4 7 5
5 6 9
6 10 4
例 1: with() 関数の使用
次のwith()関数を使用して、データ フレームの 2 つの列間の値を乗算できます。
#multiply values between x and y
with(df, x*y)
[1] 6 10 0 35 54 40
データ フレームのx列とy列の値が乗算され、結果は長さ 6 のベクトルになります。
例 2: inside() 関数の使用
次のinside()関数を使用して、データ フレーム内の 2 つの列間の値を乗算し、その結果をデータ フレーム内の新しい列に割り当てることができます。
#multiply values in x and y and assign results to new column z
within(df, z <- x*y)
X Y Z
1 3 2 6
2 5 2 10
3 5 0 0
4 7 5 35
5 6 9 54
6 10 4 40
乗算結果は、 zという名前の新しい列に保存されます。
inside()関数は元のデータ フレームのコピーを作成しますが、実際には元のデータ フレームを変更しないことに注意することが重要です。
#view original data frame
df
xy
1 3 2
2 5 2
3 5 0
4 7 5
5 6 9
6 10 4
乗算結果を永続的に保存するには、結果を新しいデータ フレームに割り当てる必要があります。
#multiply values in x and y and assign results to new data frame
df_new <- within(df, z <- x*y)
#view new data frame
df_new
X Y Z
1 3 2 6
2 5 2 10
3 5 0 0
4 7 5 35
5 6 9 54
6 10 4 40
追加リソース
次のチュートリアルでは、R で他の一般的なタスクを実行する方法について説明します。
R でデータ フレームに列を追加する方法
R で空の列をデータ フレームに追加する方法
R でデータ フレームを列ごとに並べ替える方法