私は関数を書くのが初めてで、どこから始めればよいのかよくわかりません。以下は、この例の m1 という名前のデータ フレームのサブセットです。データセットを調べて、長さと深さの情報を数値で抽出する関数を書きたいと思います。たとえば、数値 1 に遭遇した場合、長さと深さを取得し、それらを新しいデータ フレームまたはベクトルの最初の行に挿入します。数値が 2 の場合も同様です。
length number depth
[1,] 109 1 10
[2,] 109 1 10
[3,] 109 1 10
[4,] 109 1 10
[5,] 109 1 10
[6,] 109 1 10
[7,] 109 1 10
[8,] 109 1 10
[9,] 109 1 10
[10,] 109 1 10
[11,] 109 1 10
[12,] 109 1 10
[13,] 107 2 10
[14,] 107 2 10
[15,] 107 2 10
[16,] 107 2 10
[17,] 107 2 10
[18,] 107 2 10
[19,] 107 2 10
[20,] 107 2 10
ここでは、数値が 1 の場合に上記の出力を取得する関数を作成しようとしています。
length.fun=function(x)
{
lengths=numeric()
depth=numeric()
if (x[2]==1)
{
lengths=x[1]
depth=x[3]
}
return(cbind(depth,lengths))
}
length.fun(m1)
ただし、出力として得られるのはこれだけです。
length.fun(m1)
depth lengths
どんな助けでも大歓迎です。ありがとう