这个问题以前被问过,但从来没有用以下数据排列。下面是它的一个示例:
> head(datagps)
Date & Time [Local] Latitude Longitude
1: 2018-06-18 03:01:00 -2.434901 34.85359
2: 2018-06-18 03:06:00 -2.434598 34.85387
3: 2018-06-18 03:08:00 -2.434726 34.85382
4: 2018-06-18 03:12:00 -2.434816 34.85371
5: 2018-06-18 03:16:00 -2.434613 34.85372
6: 2018-06-18 03:20:00 -2.434511 34.85376
Run Code Online (Sandbox Code Playgroud)
如您所见,我有一Date & Time [Local]列平均每 4 分钟记录一次 GPS 位置。我想计算两个连续记录之间的距离(以米为单位)并将此度量存储在新列中Step。我一直在尝试distm()对我的数据实施:
> datagps$Step<-distm(c(datagps$Longitude, datagps$Latitude), c(datagps$Longitude+1, datagps$Latitude+1), fun = distHaversine)
Error in .pointsToMatrix(x) : Wrong length for a vector, should be 2
Run Code Online (Sandbox Code Playgroud)
尽管我不确定语法以及这是否是填充函数参数的正确方法。我对 R 很陌生,所以我希望能得到一些帮助。
任何输入表示赞赏!
我一直在使用 KNN 算法对事件进行分类,但这并没有导致分类的高精度。一些同事告诉我tree (),R中的函数(来自tree包)可以帮助解决这个问题。
这是我的数据示例。我正在尝试根据前两列的值对不同的事件(我有 8 类不同的事件)进行分类,"ACTIVITY_X"并且"ACTIVITY_Y":
> print(dataset)
ACTIVITY_X ACTIVITY_Y Event
1: 19 21 Vigilance
2: 20 14 Vigilance
3: 34 35 Vigilance
4: 18 5 Vigilance
5: 23 27 Vigilance
---
426: 9 25 Vigilance
427: 0 0 Head-up
428: 0 0 Head-up
429: 3 3 Head-up
430: 0 0 Vigilance
Run Code Online (Sandbox Code Playgroud)
理想情况下,我想找到不同类别(抬头,警戒等。),这应该帮助他们进行分类时之间不同的阈值"Event"的数据不可用,我只有"ACTIVITY_X"和"ACTIVITY_Y"数据。我想我应该使用该tree()函数:
xtree <- tree(Head-up~ACTIVITY_X+ACTIVITY_Y,data=dataset)
plot(xtree)
title("Head_up")
text(xtree)
xtree <- tree(Vigilance~ACTIVITY_X+ACTIVITY_Y,data=dataset)
plot(xtree) …Run Code Online (Sandbox Code Playgroud)