0

群れと鳥の角度に基づいて、鳥に行動を割り当てようとしています。

new[1:10,]
     date     time    angle cluster
1  23/05/2012 10:16:57 14.07701       2
2  23/05/2012 10:16:58 28.53635       0
3  23/05/2012 10:16:59 28.59663       0
4  23/05/2012 10:17:00 25.11674       0
5  23/05/2012 10:17:01 19.48292       0
6  23/05/2012 10:17:02 17.60478       0
7  23/05/2012 10:17:03 19.33444       1
8  23/05/2012 10:17:04 20.88084       1
9  23/05/2012 10:17:05 21.20995       1
10 23/05/2012 10:17:06 20.76851       1

new$class1[new$cluster=="0"]<-"flying"
new$class1[new$cluster=="1" & new$angle>="40"]<-"flapping"
new$class1[new$cluster=="1" & new$angle>="10" & new$angle<="40"]<-"floating"

最初の行 (フライング) は機能しますが、他の基準を追加しようとするとすぐに機能しません。どんなアイデアでも大歓迎です

すべての助けをありがとう。コードのその部分は機能しているようですが、昨日何が起こったのかわかりません! 2 つの新しい変数 (X1=進み、X3=遅れ) を導入しようとする次のビットで問題が発生しています。

      date     time      angle cluster X1 X2 X3   class1  

280 23/05/2012 10:21:36 -7.9957740 4 4 4 4 フラッピング
281 23/05/2012 10:21:37 -7.9653004 4 4 4 4 フラッピング
282 23/05/2012 10:21:38 -6.2596800 4 2 4 4 フラッピング
283 23/05/2012 10:21:39 13.9916609 2 2 2 4

new$class1[new$cluster=="4" & new$angle>"-1" & new$angle<="10"]<-"フラッピング"
new$class1[new$cluster=="4" & new $angle>"10" & new$angle<="80"]<-"ascent"
new$class1[new$cluster=="4" & new$angle>"-50" & new$angle<="- 1" & new$X1=="7"]<-"飛躍"
new$class1[new$cluster=="4" & new$angle>"-50" & new$angle<="-1" & new $X1!="7"]<-"bottom phase"
したがって、上記の場合、動作は "bottom phase" である必要があります) ありがとう

助けてくれてありがとう。負の角度は、引用符を削除した後にのみ認識されました。

4

2 に答える 2

1

実際、あなたのコードは私にとってはうまく機能します。

> new = read.csv("bird.csv",header=T)
> new
         date     time    angle cluster
1  23/05/2012 10:16:57 14.07701       2
2  23/05/2012 10:16:58 28.53635       0
3  23/05/2012 10:16:59 28.59663       0
4  23/05/2012 10:17:00 25.11674       0
5  23/05/2012 10:17:01 19.48292       0
6  23/05/2012 10:17:02 17.60478       0
7  23/05/2012 10:17:03 19.33444       1
8  23/05/2012 10:17:04 20.88084       1
9  23/05/2012 10:17:05 21.20995       1
10 23/05/2012 10:17:06 20.76851       1
> 
> new$class1[new$cluster=="0"]<-"flying"
> new$class1[new$cluster=="1" & new$angle>="40"]<-"flapping"
> new$class1[new$cluster=="1" & new$angle>="10" & new$angle<="40"]<-"floating"
> new
         date     time    angle cluster   class1
1  23/05/2012 10:16:57 14.07701       2     <NA>
2  23/05/2012 10:16:58 28.53635       0   flying
3  23/05/2012 10:16:59 28.59663       0   flying
4  23/05/2012 10:17:00 25.11674       0   flying
5  23/05/2012 10:17:01 19.48292       0   flying
6  23/05/2012 10:17:02 17.60478       0   flying
7  23/05/2012 10:17:03 19.33444       1 floating
8  23/05/2012 10:17:04 20.88084       1 floating
9  23/05/2012 10:17:05 21.20995       1 floating
10 23/05/2012 10:17:06 20.76851       1 floating
于 2013-02-27T17:53:53.570 に答える
1

角度変数を囲む引用符を取り除きます。つまり、

new$class1[new$cluster=="1" & new$angle>=40]<-"flapping"
new$class1[new$cluster=="1" & new$angle>=10 & new$angle<=40]<-"floating"
于 2013-02-27T17:27:15.840 に答える