gpt4 book ai didi

r - 根据 R 中的范围创建类别

转载 作者:行者123 更新时间:2023-12-03 18:19:36 25 4
gpt4 key购买 nike

我想在我的数据框中添加一列,其中包含基于另一列中的数字的分类数据。我在 Create categorical variable in R based on range 发现了一个类似的问题,但那里提供的解决方案没有提供我需要的解决方案。基本上,我需要这样的结果:

x   group
3 0-5
4 0-5
6 6-10
12 > 10

建议使用 cut() 的解决方案和 shingle() ,虽然这些对于根据范围划分数据很有用,但它们不会创建我需要的新分类列。

我也尝试过使用类似的东西(请不要笑)
data$group <- "0-5"==data[data$x>0 & data$x<5, ]

但这当然没有用。有谁知道我如何正确地做到这一点?

最佳答案

为什么没有cut工作?你没有分配到一个新的列吗?

> data=data.frame(x=c(3,4,6,12))
> data$group = cut(data$x,c(0,5,10,15))
> data
x group
1 3 (0,5]
2 4 (0,5]
3 6 (5,10]
4 12 (10,15]

你在那里创建的是一个 factor数据框列中的对象。显示的文本是 levels的因素,你可以通过赋值来改变它们:
levels(data$group) = c("0-5","6-10",">10")
data
x group
1 3 0-5
2 4 0-5
3 6 6-10
4 12 >10

阅读一些关于因子的基本 R 文档,你就会明白。

关于r - 根据 R 中的范围创建类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21050021/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com