0

たとえば、次のような 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

列のすべての数値が数値であることを確認しましたが、なぜこのエラーが発生するのでしょうか?

4

3 に答える 3