たとえば、次のような 2 つのデータ列があります。
col1: c(1,2,3,0,7)
col2: c(4,5,6,7,3)
各列について、この比率を計算し、列の最後の値として配置したいと思います。
No. of values less than 5/(No. of values greater than 5 + No. of values lesser than 5)
したがって、最初の列の結果は 4/4+1 = 0.2 になります。
私はRが初めてで、上記のことを考えることができる唯一の方法は、列全体をループしてif-else構造を使用することです。より良い方法はありますか?
これはあまりにも不格好なので、私が使いたくないものです:
for (a in 1:5)
{
if(col1<5){v1++;}
if(col1>5){v2++;}
}
v3<-v1/(v1+v2);
col1[6]<-v3;
上記を実行すると、エラーが発生します。
Error in if (col1[a] < 5) { : missing value where TRUE/FALSE needed
列のすべての数値が数値であることを確認しましたが、なぜこのエラーが発生するのでしょうか?