所以我有一张包含Names
,Date of Birth
和Districts
的表格。我的区域从1010
到1239
不等。我想要的是简化区域 - >将1010:1019
设为1
,将1020:1029
设为2
等。我可以通过减去数据和构建新向量来实现此目的,但我希望仍然只有一个数据框。
有人可以告诉我我在R中是怎么做的吗?
答案 0 :(得分:2)
尝试:
df <- data.frame(V1 = 1010:1239)
df$cut <- cut(df$V1, (max(df$V1) - min(df$V1) + 1) / 10, labels = FALSE)
答案 1 :(得分:1)
可以使用findInterval
函数完成此操作。
d <- data.frame(district = sample(1010:1239, 20))
d$label <- findInterval(d$district, 1000 + 10 * 1:24)
向它输入一个矢量来分类和一个断点矢量,它将第一个矢量排序到第二个。当与quantile
函数结合使用时,这会特别有用,该函数会返回适合findInterval
使用的向量 - 但我认为这有点超出了您想要执行的操作。