在R中对数据帧的内容进行排序和简化

时间:2015-11-18 22:11:12

标签: r

所以我有一张包含NamesDate of BirthDistricts的表格。我的区域从10101239不等。我想要的是简化区域 - >将1010:1019设为1,将1020:1029设为2等。我可以通过减去数据和构建新向量来实现此目的,但我希望仍然只有一个数据框。

有人可以告诉我我在R中是怎么做的吗?

2 个答案:

答案 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使用的向量 - 但我认为这有点超出了您想要执行的操作。