データセットのピークと谷を検索する必要があるプロジェクトで作業しています(列あたりの数値が高いだけでなく、と谷)。 私はそれを1列で動作させることができましたが、私はfor-loopを使用しています。これを約50列にする必要があるので、私は 'apply'関数を使うべきだと思います。私はちょうどそうする方法を知らない。 'if'文などを 'apply'関数に入れることはできますか?'apply'関数を使用して条件文を使用してコードを実行するR
は、ここで私は一つの列をチェックするために使用したものである: あなたができることを確認
Lowest = 0
Highest = 0
Summits = vector('numeric')
Valleys = vector('numeric')
for (i in 1:length(First$Seq1))
{
if (!is.na(First$Seq1[i+1]))
{
if (First$Seq1[i] < Lowest) {Lowest = First$Seq1[i]}
if (First$Seq1[i] > Highest) {Highest = First$Seq1[i]}
if (First$Seq1[i] > 0 && First$Seq1[i+1] < 0)
{ Summits <- append(Summits, Highest, after=length(Summits)) }
if (First$Seq1[i] < 0 && First$Seq1[i+1] > 0)
{ Valleys <- append(Valleys, Lowest, after=length(Summits)) }
}
}
xについて質問があります。何が起こるのでしょうか?毎回1ずつ増加していますか? Seq1をxに置き換えるとxが存在しないというエラーが出るので、 –
私は今それを実行している!ありがとう!私が今理解しなければならないのは、結果を保存する最良の方法です。 途中で 'HelperFun'の前に 'function(x)'を追加する必要がありました。他の誰かが知りたいのですか? –
「HelperFun」の前に「function(x)」を追加する必要はありません。だからあなたは、必要ではないはずのことをやったので、おそらく 'apply'の仕組みを完全には理解していないでしょう。 – Roland