我查看了之前有关重新编码的问题,但找不到我的问题的答案,因此我希望有人可以帮我解决问题。
以下数据以度数表示,并显示已分组方面的不同类别。我试图重新编码这个变量,所以每个“圆圈的一部分”编码从1-9。我可以转换它,如果起点是一个数字,但在这种情况下有一个范围(例如0-22.5)涉及我有点困惑
Aspect
0,22.5 (1)
22.5,67.5 (2)
67.5,112 (3)
112,158 (4)
158,202 (5)
202,248 (6)
248,292 (7)
292,338 (8)
338,360 (9)
显然,这是基于方面的数据,它是从0-360(圆圈)的连续比例。希望有人可以提供帮助
答案 0 :(得分:1)
为了增加@BenBolker上述评论的清晰度:
df = data.frame("original" = 1:360)
df$category = cut(df$original,
breaks = c(0, 22.5, 67.5, 112, 158, 202, 248, 292, 338, 360),
labels = 1:9)
summary(df$category)
答案 1 :(得分:1)
请注意,您的课程范围看起来有时略微偏差半度(可能是舍入错误)。我原以为每个片段应该与前2个片段分开45度。
E.g。
0,22.5 (1)
22.5,67.5 (2)
67.5,112.5 (3)
112.5,157.5 (4)
157.5,202.5 (5)
202.5,247.5 (6)
247.5,292.5 (7)
292.5,337.5 (8)
337.5,360 (9)
如果您不介意这些新值并且您正试图从度数中获取该类,那么您可以这样做。
E.g。 230度
230 / 45 = 5.1111
5.1111 + 1 = 6.1111
round(6.111) = Class 6